chrome.runtime.sendMessage回调

时间:2019-07-16 09:44:33

标签: javascript google-chrome-extension promise

我创建一个扩展,然后写成这样:

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中,我得到一个空对象{}

0 个答案:

没有答案