首页 > 解决方案 > 可以使用单个参数创建 Javascript Promises 吗?

问题描述

当我们创建 aPromise()时,构造函数需要两个参数:resolvereject
我可以只使用resolve创建 Promise吗?

let promise = new Promise((resolve) => {});

我试过了,它有效。但是,这是一个好习惯吗?该承诺预计将在所有情况下得到解决。

标签: javascriptpromise

解决方案


是的,这是可行的。如果

  • 你确定 Promise 总会解决,或者
  • 没有真正的方法来检测是否发生错误(在这种情况下,reject无论如何都不会使用参数)

那么仅使用resolve参数是一种合理的可能性。

不过,如果有任何可能发生错误——甚至是意外错误——最好使用该reject参数。毕竟,许多错误是意料之外的。


推荐阅读