"解析" JavaScript承诺中的函数

时间:2015-06-01 15:11:28

标签: javascript constructor promise

我正在阅读有关如何使用承诺的文档,并经常"解决"并且"拒绝"作为Promise构造函数的参数传入,即使没有人定义过" resolve"或"拒绝"功能。怎么可能?在使用它们之前,我们不必定义函数吗?

以下是一个例子:(来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#Browser_compatibility

{{1}}

1 个答案:

答案 0 :(得分:1)

它们不会作为参数传递给 Promise构造函数。

它们作为参数通过 Promise构造函数传递到您的resolver回调函数中,并将它们声明为参数

这类似于其他回调的参数,例如

array.sort(function(a, b) { … })
//                  ^  ^
array.map(function(element, index) { … })
//                 ^^^^^^^  ^^^^^

仅在Promise构造函数回调的情况下值才是函数。