简单的 ES6 承诺问题 - 交换解析和拒绝参数
Simple ES6 promises issue - Swapped resolve and reject parameters
在这里,我希望在控制台中看到 4,然后是 5。我认为一旦第一个 add
解析,then
将通过匿名函数,returns 另一个 add
。
所以我错过了什么导致只有第一个 add
成为 运行?
Fiddle: http://www.es6fiddle.net/iobmmhs3/
var add = function(a, b) {
return new Promise(function(reject, resolve) {
console.log(a+b);
resolve(a+b);
});
};
add(1,3)
.then(function() {
return add(2,3)
})
你的resolve
和reject
倒过来了:
var add = function(a, b) {
return new Promise(function(resolve, reject) {
// ^^^^^^^ ^^^^^^
console.log(a+b);
resolve(a+b);
});
};
add(1,5)
.then(function() {
return add(2,2)
});
Fiddle: http://www.es6fiddle.net/iobm7rb7/
有关文档,请参阅 MDN。为了将来参考,你如何在不知道传递给构造函数的函数签名的情况下调试它:在控制台中,你应该看到一个 Uncaught in Promise
错误,这表明你的承诺被拒绝了,但没有有一个拒绝处理程序。
在这里,我希望在控制台中看到 4,然后是 5。我认为一旦第一个 add
解析,then
将通过匿名函数,returns 另一个 add
。
所以我错过了什么导致只有第一个 add
成为 运行?
Fiddle: http://www.es6fiddle.net/iobmmhs3/
var add = function(a, b) {
return new Promise(function(reject, resolve) {
console.log(a+b);
resolve(a+b);
});
};
add(1,3)
.then(function() {
return add(2,3)
})
你的resolve
和reject
倒过来了:
var add = function(a, b) {
return new Promise(function(resolve, reject) {
// ^^^^^^^ ^^^^^^
console.log(a+b);
resolve(a+b);
});
};
add(1,5)
.then(function() {
return add(2,2)
});
Fiddle: http://www.es6fiddle.net/iobm7rb7/
有关文档,请参阅 MDN。为了将来参考,你如何在不知道传递给构造函数的函数签名的情况下调试它:在控制台中,你应该看到一个 Uncaught in Promise
错误,这表明你的承诺被拒绝了,但没有有一个拒绝处理程序。