我正在使用使用Web Workers处理所有AJAX请求的代码(如果有)。这些工作人员几乎只做XMLHttpRequest对象处理(没有额外的计算)。工作者创建的所有请求都是异步的(request.open("get",url,true))。
XMLHttpRequest
request.open("get",url,true)
最近,我遇到了与此代码有关的几个问题,我开始怀疑是应该花时间修复此问题还是只是丢弃整个解决方案。
到目前为止,我的研究表明该代码实际上可能会损害性能。但是,我找不到任何可靠的消息来源来支持这一点。我仅有的两个发现是:
有人可以指出我这个问题的可靠消息来源吗?或者,是否有任何基准可以消除我的怀疑?
[ 编辑 ]当WebWorker还负责解析结果(JSON.parse)时,这个问题会变得更加有趣。异步解析是否提高了性能?
JSON.parse
我为此在jsperf上创建了一个适当的基准。取决于浏览器, WebWorker方法 比原始ajax调用 慢85-95% 。
笔记:
new XMLHttpRequest()
JSON.parse(jsonString);