1

有什么办法可以实现主线程和web worker线程之间的同步通信?我知道通信只能通过异步的 postMessage 进行,但是可以通过任何其他方式(比如使用同步 IndexedDB API)来实现。

4

1 回答 1

0

不要认为这是可能的,但如果有帮助,您可以考虑使用延迟来实现更清洁的异步流程。

所以如果你有同步流,比如:

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

于 2013-05-16T20:38:48.020 回答