未处理的承诺拒绝-Firefox

时间:2018-07-19 16:57:05

标签: javascript firefox promise axios

我一直在理解这个错误,我不确定它在生气什么。我正在使用最新版本的FF,并且此代码可在最新版本的Chrome甚至Ie 11中使用。

Unhandled promise rejection 
Error: Network Error
Stack trace:
createError@http://localhost:8080/main.js:6075:15
handleError@http://localhost:8080/main.js:5618:14

columnNumber: 15
​
config: Object { timeout: 5000, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN", … }
​
fileName: "http://localhost:8080/main.js"
​
lineNumber: 6075
​
message: "Network Error"
​
request: XMLHttpRequest { readyState: 4, timeout: 5000, withCredentials: false, … }
​
response: undefined
​
stack: "createError@http://localhost:8080/main.js:6075:15\nhandleError@http://localhost:8080/main.js:5618:14\n"
​
    __proto__: Object { … }

    onUnhandled/</result<
es6.promise.js:101
./node_modules/babel-polyfill/node_modules/core-js/modules/_perform.js/module.exports
_perform.js:3:12
onUnhandled/<
es6.promise.js:95
./node_modules/babel-polyfill/node_modules/core-js/modules/_invoke.js/module.exports
_invoke.js:5
<anonymous>
_task.js:35
run
_task.js:21
listener
_task.js:25

这是它赖以生存的代码

 login: flow(function*(email, password) {
  console.log("login")
  try {
    const response = yield self.rootStore().axios.post(
      "/tokens/auth", {
          email: email,
          password: password,
          grantType: "password",
      }
    );
    return response;
  }
  catch(e){
    console.log(e, "catch")
  }
}),

似乎即使它们是一个错误,它仍然会呼叫我“然后”,这会引起问题(尽管仍然是为什么所有其他浏览器都可以通过时出现网络错误的根本问题)

 login(values.email, values.password).then((response) => {
            console.log("response", response); // this get called. Eventhough in the login flow function the error gets caught.
          }).catch(e => {console.log(e)})

1 个答案:

答案 0 :(得分:0)

好像您正在使用生成器函数。希望这与问题无关。您是yield兑现承诺,而不是await首先兑现承诺?

您是否尝试过添加.catch(e => { console.log(e); })或其他内容以查看拒绝是什么?