用 JavaScript 阻止屏幕进入睡眠状态
最近在 H5 端有需要保持手机屏幕常亮的需求,辗转之下,发现了一个早在 chrome 85 中就已经支持的 Web API,不过,截止到今天发文时,Safari 仍不支持,尽管如此,在安卓端我们还是能调用这个 API 来节省设备电池电量(相对于 NoSleep.js 来说),ios 端使用 polyfill 的方式,在将来 Safari 支持该 API 后移除即可。
Wake Lock 可防止屏幕关闭、变暗或锁定,仅适用于活动的选项卡/窗口,这可以防止后台选项卡使您的设备保持唤醒状态,也提供了函数以随时通过代码手动释放。
调用 Wake Lock 之前,我们首先需要检查当前浏览器中是否存在该功能。我们可以使用以下简单函数来做到这一点。
const canWakeLock=()=> 'wakeLock' in navigator;
下面的示例演示如何请求 WakeLockSentinel 对象。WakeLock.request 方法是基于 Promise 的,因此我们可以创建一个异步函数。
let wakeLock=null;const requestWakeLock=async ()=>{
try {
wakeLock=await navigator.wakeLock.request('screen');
console.log('Wake Lock is active!');
} catch (err) {
console.log(`${err.name}, ${err.message}`);
}}
requestWakeLock()
下面的示例演示如何释放以前获取的唤醒锁。
wakeLock.release().then(()=> wakeLock=null);
如因任何原因(例如离开活动窗口/选项卡)而释放唤醒锁,将出触发 release 监听函数。
wakeLock.addEventListener('release', ()=> {
console.log('Wake Lock has been released');});
以下代码在文档的可见性发生更改并释放唤醒锁时重新获取唤醒锁。
家都知道javascript单线程异步机制
接下来看一个例子
异步运行
需求来了先输出a,5秒后再输出b,再过5秒输出c。
用笨方法运行一下
笨笨的嵌套
运行结果
这种方式好像也可以实现,但是需要一层一层的嵌套
接下来实现最终sleep函数
封装sleep函数
运行结果
使用 async / await 异步等待来实现
如果对您有用点个赞支持一下,小编感激不尽!
电脑长时间不用的时候,我们一般都会让其待机,这个时候就需要用到电脑的休眠功能了。如果把休眠的快捷方式设置到桌面上的话,那么操作起来就会非常方便,只需要点击一下鼠标就可以进入休眠状态了,下面小编就将大家如何在Windows 7系统下设置休眠的快捷方式的方法。
从Windows XP开始,Windows默认不再提供休眠按钮,我们只能在关机的窗口中按下Shift键,使“待机”变为“休眠”,才能够使其进入休眠状态。
而在Vista和Windows 7之后,“休眠”功能进行了大幅增强,也变得更加人性化,但是还是略显繁琐,用户需要的仅仅是按两下就完成的休眠功能,从网络上也有很多打补丁或是修改注册表的方法来实现“一键休眠”,但是普通用户在设置修改的时候稍有不慎机器就会崩溃。
笔者今天将为大家介绍一种Windows 7系统自带的方法,设置完毕之后,按一个快捷键就能快速使计算机休眠,与大家一起分享。
在Windows 7桌面上,右键属性新建一个快捷方式,并在提示的对象位置上,键入我们需要创建快捷方式程序的位置,将“rundll32.exe powrprof.dll,SetSuspendState Hibernate”输入到空格处,点击下一步,如上图所示。
将我们新建的快捷方式设定一个名称,这里取名为“休眠”,点击完成按钮,完成第一步的新建快捷方式操作过程。
在第一步中,我们已经新建完了“休眠”快捷方式。现在我们只需要去双击运行“休眠”程序,计算机系统就会自动进入黑屏后休眠。
在这里,其实我们还可以为这个快捷方式设定一个快捷按键,即是在键盘上定义一个物理按键,并当我们按下这个定义好的按键时,计算机就能自动通过启动桌面的“休眠”程序来进入休眠状态,这样的话,用户在使用起来的时候就更加方便了。
在右键弹出的“休眠”属性中,我们看到在“快捷方式”标签下,有一个“快捷键”的按钮,用户在这里可以根据自己的使用习惯,选择键盘上的一个按钮后,点击“应用”完成设置。
小结:当你需要待机外出一两个小时再回来时,让计算机进入休眠状态,明显既省电又能使计算机进入休息非常方便。在待机状态下,将当前数据保存在内存中,因此只向内存供应电源。该模式的特点是唤醒时恢复的时间比休眠状态要短。
休眠状态是将内存中的数据暂时保存在硬盘中,然后切断内存的电源。在休眠状态下大部分部件的电源都被切断。因此休眠状态下会更为省电一些。
文章来自互联网,只做分享使用。发布者:云评测专家,转转请注明出处:https://www.baoxiaoke.com/article/100493.html
*请认真填写需求信息,我们会在24小时内与您取得联系。