我正在研究Web工作者,我正在将大量数据传递给Web worker,这需要花费大量时间.我想知道发送数据的有效方法.
我试过以下代码:
var worker = new Worker('js2.js');
worker.postMessage( buffer,[ buffer]);
worker.postMessage(obj,[obj.mat2]);
if (buffer.byteLength) {
alert('Transferables are not supported in your browser!');
}
Run Code Online (Sandbox Code Playgroud) 我正在研究HTML5 web worker,我创建了一个函数来生成几个worker并返回结果,但问题是它在worker更新结果之前返回值.所以我想延迟return语句,直到收到所有结果
for (i = 0; i < array1_rows; i++)
{
var worker = new Worker('json.js');
worker.postMessage(arr1[i]);
worker.postMessage(arr2);
worker.postMessage(i);
worker.onmessage = storeResult;
}
/////////////////////////////////
return result;
Run Code Online (Sandbox Code Playgroud)
所以我只想延迟返回语句,直到收到结果.Plz帮助我如何在java脚本中使用yield.