【发布时间】:2013-03-20 19:07:03
【问题描述】:
现在,我得到了这个,它可以工作:
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);
因为我需要网络工作者是同步的 - 换句话说,给出一个返回值并且在你完成之前不要返回。
编辑 1:
网络工作者正在使用 openDatabaseSync 事务对本地数据库进行插入/选择。
编辑 2:
看来我的问题是 Cocoa Touch 而不是 JavaScript。 Here's a clever hack 有人在 StackOverflow 上发帖。
编辑 3:
这里是a better hack。
【问题讨论】:
-
为什么需要同步?您是否从
onmessage回调中获取数据? -
是的,我从 onmessage 回调中正确获取了数据。但是编写这个应用程序的 Cocoa Touch 部分的人不知道如何去听它。也许 Cocoa touch 可以监听一些我可以使用 JavaScript 触发的东西,比如点击事件或其他东西。
标签: javascript web-worker