是否可以从服务工作线程(ServiceWorkerGlobalScope)读取变量?



是否可以在不使用postMessage方法的情况下从主线程获取counter变量(ServiceWorkerGlobalScope(?

服务工作者.js:

let counter = 42;
self.addEventListener("message", function (event: any) {
let client = event.source;
client.postMessage(counter);
}

不可能直接从不同的全局范围引用变量。

您可以使用postMessage()WindowGlobalScopeServiceWorkerGlobalScope之间发送值,如您的示例所示。

您还可以将变量序列化为可从两个全局范围(如 IndexedDB 或缓存存储 API(访问的共享存储。idb-keyval是一个易于使用的库,可在两个范围内工作。

相关内容

  • 没有找到相关文章

最新更新