在我的chrome扩展项目中,我使用ES6承诺从后台页面获取XHR的结果并将其发送到内容,但我得到的内容undefined值response.XHR工作正常,它返回一个值.
BTW,queue.js只是我对ES6承诺的小糖.
queue.js
function defer() {
let resolve = null;
let reject = null;
let promise = new Promise((_resolve, _reject) => {
resolve = _resolve;
reject = _reject;
});
return {
'promise': promise,
'resolve': resolve,
'reject': reject
};
}
module.exports = defer;
Run Code Online (Sandbox Code Playgroud)
内容:
let Q = require('./queue');
let cb = Q();
function callback(response) {
if (response) {
let {result, data} = response;
if (result === 'OK') {
cb.resolve(data);
} else if (result === 'KO') {
cb.reject(data); …Run Code Online (Sandbox Code Playgroud) javascript asynchronous xmlhttprequest google-chrome-extension es6-promise