我创建一个扩展,然后写成这样:
Login.vue:
chrome.runtime.sendMessage(
{
command: 'authorize',
data: { email: self.login, password: self.password },
},
function(res) {
console.log(res);
res
.then(response => {...})
.catch(error => {...});
}
);
background.js:
....
chrome.runtime.onMessage.addListener(function (request, sender, callback) {
switch (request.command) {
case "authorize":
let a = Authorize.run(request.data);
console.log(a);
callback(a);
return true;
...
}
});
authorize.js:
...
export default {
run(data) {
return axios({
method: 'post',
url: server_url + '/webapi/login',
headers: { 'Content-Type': 'application/json' },
data: data
})
}
}
但是当我运行此方法时,出现错误:“错误处理响应:TypeError:res.then在eval时不是函数...”。
在后台,我看到了我的承诺:
Promise {<pending>}
但是在Login.vue中,我得到一个空对象{}