Note for everything
当电脑进入休眠状态,浏览器的一些持久功能会受到影响(例如 WebSocket 连接中断),有时需要在从休眠状态中恢复过来的时候做一些检查和恢复工作。
let lastTime = (new Date()).getTime()// 可能由于脚本计算量大,或是使用了 alert/confirm 等阻塞线程的函数,的确会有些小误差,可以忽略掉const THRESHOLD = 15000setInterval(function() { const currentTime = Date.now() if (currentTime > (lastTime + THRESHOLD)) { // 刚醒来,做点什么呢 } lastTime = currentTime}, 30000); // 30s 比较保守,可以根据业务需求来调整