全部:
我是JS Web Worker的新手,比如当我实例化一个Web工作时,比如:
var worker = new Worker("worker.js");
然后我打电话给
worker.postMessage("Start working");
有一个问题让我困惑:
我如何知道工作人员是否准备好接受我的postMessage调用(我认为新的工作人员需要一些时间才能完成,如果我调用postMessage太快以至于工作人员还没有准备好,会不会出现一些问题,尤其是worker.js内有一些asyn操作)?或者我不需要担心,因为这个操作是同步的,当我调用postMessage时,我可以假设worker已经准备好了(如果worker.js没有问题的话)?
感谢
通过new Worker(...)
创建新工作线程的行为是同步的,因此当您的下一行运行时,它已为postMessage(...)
做好了准备。
查看HTML5Rocks的Web Workers基础知识,了解更多细节。