【问题标题】:Default Return Value for Resolved Promise已解决承诺的默认返回值
【发布时间】:2016-07-27 23:13:39
【问题描述】:

我正在学习在 ES6 中编写返回 Promise 的函数,例如:

function async() {
  return new Promise(function (resolve, reject) {
    if (doStuff()) {
      resolve(value);
    } else {
      reject(error);
    }
  }
}

有时,在resolve(value) 中传递回没有有用的值。在这些情况下,返回的默认值应该是什么?

【问题讨论】:

  • 我们通常只是在没有参数的情况下调用它,并且 promise 被解析为 undefined。
  • 实际上,没有价值可以回传的情况非常。如果调用者没有在等待某事,为什么他在等待而你却返回了一个承诺?

标签: ecmascript-6 es6-promise


【解决方案1】:

就像没有return 语句的函数返回undefined,你应该返回undefined 的promise。您可以将其显式传递给resolve,也可以直接省略参数,默认为undefined

【讨论】:

    【解决方案2】:

    您可以只使用resolve()reject() 而不指定任何参数。

    【讨论】:

    • ……但你应该永远在没有参数的情况下使用reject
    猜你喜欢
    • 2021-05-25
    • 2013-05-15
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2019-06-15
    • 1970-01-01
    相关资源
    最近更新 更多