我的 html5 网络工作者遇到了问题。web worker postMessage() 的 JSON 对象到调用 worker 的文档级 javascript,它带有 onmessage() 函数。
显然,可以访问“iterationsjob”键,因为工人可以处理相关的数字值,但这似乎只在谷歌浏览器中有效,它仍然会引发错误:
18Uncaught TypeError: Cannot read property 'iterationsjob' of null
在 Firefox 中,网络工作者根本不工作,似乎也无法访问数字,我得到了成功的 ajax 调用,但它似乎绕过了日志记录步骤,并通过单独的 ajax 调用引发了另一个错误. 因此,我为工作人员编写了一种基本方法将 log() 消息返回到控制台,并从工作人员内部调用它们:
var iterations
//get iteration data from the server
p.ajax.post({
url:'/getdataurl',
dataType: "json",
success: function(responseText){
log("test");
log("responseText is "+responseText);
iterations = responseText.iterationsjob;
log("iterations is "+iterations);
}
});
我希望看到以下内容:
test
responseText is [object Object]
iterations is 3993547
相反,我看到:
test
responseText is [object Object]
iterations is 3993547
test
responseText is null
Uncaught TypeError: Cannot read property 'iterationsjob' of null
任何人都可以解释问题是什么以及如何解决它?编辑:我在这里上传了源代码的 zip 。在 Google App Engine 上运行。
谢谢!非常感谢任何帮助。