pet*_*ter 5 javascript web-worker
我有一些这样的javascript代码,
var worker = new Worker("javascript/worker.js");
worker.onmessage = function(evt)
{
// stuff
}
Run Code Online (Sandbox Code Playgroud)
worker.js看起来像这样,
importScripts("base.js");
function getImage()
{
$.ajax({
url: 'URL'
dataType: "text/plain; charset=x-user-defined",
mimeType: "text/plain; charset=x-user-defined",
success: function(data, textStatus, jqXHR)
{
callback();
}
});
}
Run Code Online (Sandbox Code Playgroud)
worker.js文件没有包含jQuery,因此不起作用.如果我将它添加到worker.js,
importScripts("jQuery.js");
Run Code Online (Sandbox Code Playgroud)
然后我收到消息,
Uncaught ReferenceError: window is not defined
Run Code Online (Sandbox Code Playgroud)
我对工人并不熟悉.我是否正确地认为它是在一个完全独立的环境(基本上是后台线程)中加载worker.js代码,因此它无法访问窗口.
小智 11
在worker的.js文件中:
importScripts('../relative/path/lib.min.js', '../../other/lib.js');
Run Code Online (Sandbox Code Playgroud)
pet*_*ter -1
是的,已经正确地向我指出 ajax 调用是异步的,因此不需要工作人员。对于我不会解释的情况,事实证明 ajax 调用无论如何都不起作用,所以我恢复到 XMLHttpRequest 的原样并使用工作人员保留它。
| 归档时间: |
|
| 查看次数: |
7132 次 |
| 最近记录: |