Nig*_*lan 30 javascript web-worker
我正在使用这个Web工作者,其中声明了一个全局变量.我可以在新生成的Web worker(worker 2)中访问相同的(worker 1中的全局变量)吗?
当我尝试在web worker中使用jQuery时,我收到错误"窗口未定义".有没有办法在jQuery中使用jQuery Web Worker?
importScripts('jquery-latest.js');
function fetch_ajax(url) {
$.ajax({
type: 'GET',
url: url,
success: function(response) {
postMessage(response);
}
});
}
fetch_ajax('test.txt');
bul*_*ley 51
Web Workers没有window对象.
要访问全局状态,请使用可self在主线程和工作线程上工作的代码.
但请注意,您仍然无法访问或操纵父级DOM(例如,window.jQuery通过self.jQuery).
当主线程窗口self指向Window对象时,在工作线程中self指向单独的WorkerGlobalScope对象.
Fel*_*ipe 15
根据@buley提示,我做到了:
var window = self;
importScripts(/* dependencies here */);
/* my code */
Run Code Online (Sandbox Code Playgroud)
就我而言,我试图使用ES6-Promise库:https://github.com/jakearchibald/es6-promise#readme
| 归档时间: |
|
| 查看次数: |
27412 次 |
| 最近记录: |