【发布时间】:2015-06-02 19:56:44
【问题描述】:
我正在编写一个在 JavaScript 中大量使用类似 ECMAScript 6 的 Promise 的代码。
我无法决定,用字符串还是错误拒绝承诺是否更“正确”,因为我已经看到这两种模式都在使用。
也就是说,如果打电话比较好
return new Promise(response, reject) {
reject("Sky is falling.");
}
或
return new Promise(response, reject) {
reject(new Error("Sky is falling."));
}
【问题讨论】:
-
两者都有效。重要的是拒绝一个有意义的 Promise。
-
我希望我的小例子只是为了说明而不是真正的代码是可以理解的:)
-
Error 更好,因为这样你会得到一个关于错误所在位置的堆栈跟踪。
-
ESLint 的意见是
Error是首选:eslint.org/docs/rules/prefer-promise-reject-errors
标签: javascript promise