promise JS 中 resolve 和 return 的区别

新手上路,请多包涵
var p1 = new Promise (function (res, rej){
    res(42);
}).then((result) => {return result;});

\*\*如果我有 \*\* return result

这个承诺是否已解决? “已解决的承诺”是什么意思?

原文由 user7361276 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 944
1 个回答

Java Script 是一种单线程语言。这简化了大多数任务;但是,这意味着异步任务必须在回调函数中处理。 Promise 是一种面向对象的回调类型,它提供比简单回调函数更强大的功能。

解决 的承诺意味着将调用承诺对象的 then 函数。在您的示例中,承诺已得到解决。

被拒绝 的 promise 意味着将调用 promise 对象的 catch 函数。

then 函数中返回结果,允许 链接.每个 then result 都可以在将结果传递给链中的下一个 promise 之前更改或操纵结果。

在您的示例中,您解决了第一个承诺,然后为链中的下一个承诺返回了一个结果,您没有如此有效地处理返回的结果什么都不做。

原文由 Scott Boring 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题