现在,我已经知道了,它可以正常工作:

var myWebWorker = new Worker('myWebWorker.js');
myWebWorker.onmessage = function (myEvent) {
    $('#Print').append('Return value: ' + myEvent.data + "<br>");
};
myWebWorker.postMessage(2);

我的问题是:我可以代替吗?
var result = myWebWorker.postMessage(2);

因为我需要网络 worker 同步-换句话说,请提供一个返回值,并且也要等到您完成后再返回。

编辑1:

网络 worker 正在使用openDatabaseSync事务在本地数据库中进行插入/选择。

编辑2:

看来我的问题出在Cocoa Touch上,而不是JavaScript。
有人在StackOverflow上发布的Here's a clever hack

编辑3:

这是a better hack

最佳答案

Web Worker的目的是在不阻塞UI的情况下委派任务。 它们不能同步。

您可能不需要来同步任务,但是您需要围绕事件和异步任务设计代码,就像您无法仅通过同步操作来设计任何javascript应用程序或任何严肃的GUI应用程序一样。

09-18 20:37