【发布时间】:2020-06-13 14:32:05
【问题描述】:
我已经解决了一些与此类似的问题,但无法找到一个我无法理解的特定问题。我将插入代码、输出的内容、我无法理解的内容,也许有人可以指出我缺少的内容:
async function add(x, y) {
return x + y
}
add(1,2).then((result) => {
console.log(result)
})
3
到目前为止,我知道 JS 中的异步函数总是会返回一个 Promise,但我对 Promise 的理解是,它们接受两个函数回调作为参数,一个用于当 Promise 解决时,另一个用于遇到错误时。编译器如何知道将此处的 add 函数的结果传递给返回的 Promise 的 resolve 回调?是不是假设在调用.then时返回的promise的resolve回调的第一个参数是调用函数的返回值?
【问题讨论】:
-
但我对 Promise 的理解是,它们接受两个函数回调作为参数,一个用于 Promise 解决时,另一个用于遇到错误时 这仅适用于Promise 构造函数,仅此而已
-
我会推荐阅读承诺。我个人会推荐javascript.info
-
@CertainPerformance 我以为 OP 是在谈论
.then()以两个回调作为参数,一个用于承诺履行时,另一个用于拒绝时......
标签: javascript asynchronous promise