【发布时间】:2021-01-07 00:51:49
【问题描述】:
我有一段代码需要在 webworker 上执行,它需要从主线程中的某些东西中获取反馈(基本上是来自 KVS 的 get 操作)。不幸的是,我无法使用本地存储,因为网络工作者无法访问它。有没有其他方法可以将信息从主线程传递给网络工作者,以便当网络工作者想要这条信息时,它可以得到它?
另一个注意事项是,我对所有事情都使用了 brython,我不确定这是否会阻止我使用 IndexedDB 等传统 JavaScript 解决方案。非常感谢您的指导。
【问题讨论】:
-
const worker = new Worker('sendToPage.js'); worker.postMessage(someJSONHere);是 WebWorkers 发送可以在sendToPage.js上使用onmessage = e=>{ const data = e.data; }接收的数据的方式。所以,信息可用onmessage。 -
感谢您提供的信息,但是如果之前在 webworker 上运行的 onmessage 代码怎么办?是否仍会收到此消息,还是我们必须等待原始代码完成?如果我希望收到此消息,尽管当前正在运行以前的 onmessage 处理程序。
标签: javascript html local-storage web-worker brython