【发布时间】:2013-05-17 04:38:48
【问题描述】:
有什么办法可以实现主线程和web worker线程之间的同步通信?我知道通信只能通过异步的 postMessage 进行,但可以通过任何其他方式(例如使用同步 IndexedDB API)来实现。
【问题讨论】:
标签: web-worker
有什么办法可以实现主线程和web worker线程之间的同步通信?我知道通信只能通过异步的 postMessage 进行,但可以通过任何其他方式(例如使用同步 IndexedDB API)来实现。
【问题讨论】:
标签: web-worker
不要认为这是可能的,但如果有帮助,您可以考虑使用延迟来实现更清晰的异步流程。
所以如果你有像这样的同步流:
var n = 71,
x = checkPrime(71);
alert(x); //display if n is prime or not.
//可以转为异步:
var dfd = useWorkerForPrime(71);
dfd.done(function(isPrime) { alert (x); //display if prime })
您从 'useWorkerForPrime' 返回一个延迟,一旦收到来自工作人员的消息,它就会解析。
更多关于延迟的参考:http://www.erichynds.com/blog/using-deferreds-in-jquery
【讨论】: