importScripts returns 在网络工作者中未定义
importScripts returns undefined in the web workers
对于较早的浏览器版本,Web Worker 中未定义 Promise。因此,如果 Promise 未定义,我将通过 importScripts('Promise.js') 使用 polyfill Promise。但是我仍然在 return.
中得到一个未定义的对象
var promise;
if(typeof Promise === undefined) {
self.importScripts('./Promise.js').Promise;
}
promise = new Promise(function (resolve, reject) {
var url = ajaxArgs.url || '',
data = ajaxArgs.data || {},
type = ajaxArgs.method || 'GET',
isGet = type === 'GET',
request = new XMLHttpRequest();
........
}
我怎样才能让 Web Worker 工作?
importScripts
function 没有 return 任何东西。当您在调用中访问 .Promise
属性 时,这将抛出,您的代码将停止执行。顺便说一句,typeof
从来没有 return undefined
,所以你很幸运,它从未被执行过。
if (typeof Promise !== "function") self.importScripts('./Promise.js');
var promise = new Promise(function (resolve, reject) {
…
});
对于较早的浏览器版本,Web Worker 中未定义 Promise。因此,如果 Promise 未定义,我将通过 importScripts('Promise.js') 使用 polyfill Promise。但是我仍然在 return.
中得到一个未定义的对象var promise;
if(typeof Promise === undefined) {
self.importScripts('./Promise.js').Promise;
}
promise = new Promise(function (resolve, reject) {
var url = ajaxArgs.url || '',
data = ajaxArgs.data || {},
type = ajaxArgs.method || 'GET',
isGet = type === 'GET',
request = new XMLHttpRequest();
........
}
我怎样才能让 Web Worker 工作?
importScripts
function 没有 return 任何东西。当您在调用中访问 .Promise
属性 时,这将抛出,您的代码将停止执行。顺便说一句,typeof
从来没有 return undefined
,所以你很幸运,它从未被执行过。
if (typeof Promise !== "function") self.importScripts('./Promise.js');
var promise = new Promise(function (resolve, reject) {
…
});