私は問題がいつもわかっています。私はes6の約束を使用しています。私は複数のレイヤーを持っています。 実行時に私が約束を守らないと、コンソールにUncaught (in promise)
があります。しかし、実際には私は自分のコードでそれを捕まえることがあります。未知(約束)
高速簡単な例:
LoginApi.js
var loginDaoCall = loginDao.login(username, password);
loginDaoCall
.then(function (res) {
store.dispatch(loginSuccess());
log.log("[loginApi.login] END");
})
.catch(function (err) {
store.dispatch(loginFail());
errorUtils.dispatchErrorWithTimeout(errorLogin);
log.log(err);
});
return loginDaoCall;
loginContainer.js
loginApi.login(user, password).then(() => {
// Change here instead of in render so the user can go back to login page
this.props.history.push(baseUrlRouter + "test");
}); // <- Error here cause I don't CATCH the promise, but I do catch it in my loginapi.js
私は何もしないキャッチすることができることを知っているが、えっ。私はAPIレイヤーで履歴プッシュを行うこともできますが、それはその責任ではありません。
どうすれば私のコンソールでエラーを回避できますか?方法はありますか?私はそれをこのように残すことを考えています。
ような何かをしたい場合がありますでしょうか? –
これはエラーとして表示されますが、何も破らないので警告です。私はコンソールから警告/エラーが出るのは嫌です。それは悪い練習ではないので正当化されていません – Nevosis
あなた自身のコード? * errorUtils.dispatchErrorWithTimeout(errorLogin); log.log(err); * –