【发布时间】:2020-03-19 09:05:43
【问题描述】:
我有一个简单的网络工作者,它使用 setInterval 保持时区的当前时间
setInterval(() => {
userTimezoneTimestamp = userTimezoneTimestamp + 1000
postMessage(userTimezoneTimestamp);
}, 1000);
在我将机器置于睡眠模式之前它工作正常。当我从睡眠模式重新启动机器时,我从这个工人那里得到的时间更久。 如何仅在机器从睡眠模式启动时重新启动我的网络工作者?
【问题讨论】:
-
每隔 X 秒也为
userTimezoneTimestampvariable 设置间隔。当机器从睡眠模式启动时,此同步userTimezoneTimestamp。 -
我怀疑你问的是可能的。浏览器有权随时暂停任何打开的选项卡及其工作人员。\
-
我不明白你在做什么,为什么以及你所要求的会有所帮助。您的工作人员应至少与您的主页同时重新启动。不是这样吗?你到底在做什么,你有什么确切的行为,应该是什么?这是一个小操场,您可以对其进行编辑以使您的案例更清晰。 jsfiddle.net/m9tjo6h5
-
嗨@Kaiido,我正在使用 webworker 维护用户的时区的当前时间戳,就像你在 Jsfiddle 中所做的那样。但是,一旦您将 PC 置于睡眠模式,网络工作者就会停止工作。当我启动 PC 时,我从 webworker 获得的时间戳是旧的。现在我想要一个窗口事件,它可以让我知道应用程序从睡眠模式恢复。正如恢复莫妮卡所说,我认为这是不可能的
-
为什么要举办这样的活动?你认为这会有什么帮助? “老了”是什么意思?你如何获得初始时间戳?
标签: javascript events web-worker sleep-mode