我有一個webworkers的數組,名爲workers
。我在一個叫做activate
的函數中啓動它們。問題是,我想讓activate
返回由worker
發佈的值。我希望它能夠回覆某種承諾,或等到它們全部完成。等待一組工人完成
因此,代碼可能是:
// the web workers add stuff in this array with onmessage()
var globalArray = [];
function activate(){
for(var i = 0; i < workers.length; i++){
workers[i].postMessage('do something');
}
return // Promise or filled globalArray;
}
所以我可以用這樣的:
var values = await activate();
我不想讓工人來調用一個單獨的功能一旦最後一名工人完成。有什麼辦法可以做到這一點?