我想知道你对此有何看法。建议在Web Worker中使用同步请求(XMLHttpRequest)?我能找到什么问题?
我已经在我的应用程序中对此进行了测试,但没有发现任何麻烦。但是由于使用jQuery和AJAX的旧经验,我担心这种同步行为。我的应用程序从数据库中的多个表中获取大量数据,这需要时间。对于从表中检索到的每束数据,我需要立即对其进行处理,以免延迟整个过程。同时,用户正在与浏览器进行交互,因此可以将其阻止,我认为网络工作者可以正常工作。您认为这是一个很好的解决方案吗?还是应该尝试使用异步请求?
谢谢。
我没有确凿的事实,但是既然您要征求意见… :)
Chrome中存在一个明显的问题:太多的Web Worker会导致无提示的崩溃(根据此bug报告,上限为60-100 )。普遍的问题是,至少在v8中,Web Workers占用大量资源。
假设最终要进行多个HTTP调用,如果要在Web Worker中进行同步HTTP调用:
我不认为自己是这方面的专家,所以请考虑它的价值。
更新:针对各种情况添加了一些优点/缺点。
在使用Web Worker进行同步和异步HTTP调用之间进行选择时,会想到一些优点/缺点:
我发现与网络工作者一起工作的一件事是,他们似乎每个人都有自己的http限制。根据节流之前的浏览器,浏览器将并发http请求的数量限制为8或12个左右,如果您要处理大量请求,这可能会成为瓶颈。我发现,如果我通过我的请求网络工作者,每个人可以在开始节流之前执行8到12个并发请求。对于某些应用程序来说,这可能是一个巨大的好处。