有没有办法在主线程和Web工作线程之间实现同步通信?我知道通信只是通过postMessage,它是异步的,但任何其他方式(比如使用同步IndexedDB API)都可以实现。
答案 0 :(得分: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