当计算机从睡眠模式重新启动时如何重新启动Web Worker?

问题描述 投票:0回答:2

我有一个简单的Webworker,它使用setInterval保留了时区的当前时间

setInterval(() => {
        userTimezoneTimestamp = userTimezoneTimestamp + 1000
        postMessage(userTimezoneTimestamp);
    }, 1000);

在我将机器置于睡眠模式之前,它工作正常。当我从睡眠模式重新启动计算机时,我从该工作人员那里得到的时间更长。仅当机器从睡眠模式启动时,如何才能重新启动Web Worker?

javascript events web-worker sleep-mode
2个回答
0
投票

( async () => { const offset_from_API = await getOffsetFromAPI(); const time_received = Date.now(); // for even more granularity we could use performance.now() const getUpToDateOffset = () => { return offset_from_API + (Date.now() - time_received); }; // to compare we will also use an incrementer let incremented = offset_from_API; setInterval( () => { incremented += 1000; console.clear(); console.log( 'incremented', incremented.toLocaleString( 'en-US' ) ); console.log( 'difference ', getUpToDateOffset().toLocaleString( 'en-US' ) ); }, 1000 ); } )(); function getOffsetFromAPI() { return 1234567; }

© www.soinside.com 2019 - 2024. All rights reserved.