所有
我对JS Web Worker很陌生,比如当我实例化一个像以下网页的工作时那样:
var worker = new Worker("worker.js");
然后我打电话给:
worker.postMessage("Start working");
有一个问题困扰我:
我如何知道工作人员是否已准备好接受我的postMessage调用(我认为新工作人员需要一些时间才能完成,如果我调用postMessage太快以至于工作人员甚至没有准备就会出现问题,尤其是在worker.js中有一些asyn操作)?或者我不需要担心这个问题,因为这个操作是同步的,当我调用postMessage 时,我可以假设工作者已准备就绪(如果worker.js没有问题)?
谢谢
答案 0 :(得分:0)
通过new Worker(...)
创建新工作人员的行为是同步的,因此当您的下一行投放时,它已准备好postMessage(...)
。
查看HTML5Rocks' The Basics of Web Workers了解细节。