有什么方法可以在 web worker 中调用 ajax 函数。实际上我是直接使用 ajax 函数来获取响应,但是数据太重,因为我的窗口将被冻结直到响应到来。克服这个问题现在我正在使用网络工作者。数据(JSON)是动态的。所以你能告诉我如何调用 ajax 函数,以便我可以在我的应用程序中使用它。这里我附上网络工作者代码。
//Worker.js 文件
var myCallback = function(data){
self.postMessage(JSON.stringify(data));
};
self.addEventListener('message', function(e) {
importScripts('json.js?callback=myCallback');
}, false);
//JOSN.js 文件
function getResult(){
var randomNum = (Math.floor(Math.random() * 5) + 1),
cacheBuster = (Math.floor(Math.random() * 10000) + 1);
$.ajax({url:'http://examples.kevinchisholm.com/utils/json/jsonp.php?callback=myCallback&cacheBuster=' + cacheBuster + '&sleep=' + randomNum,
type:'POST',cache:false,data:datas,dataType:"json",async:false,
success:function(xmlResponse){
return xmlResponse;
}});
}
getResult();