后有以下代码Promise.all()我Promise.then()返回未定义值
var pOne = new Promise(function(callback){
setTimeout(function(){
callback(false);
}, 100);
}).then(function(v){
console.log("pOne: " + v);
});
var pTwo = new Promise(function(callback){
setTimeout(function(){
callback(true);
}, 100);
}).then(function(v){
console.log("pTwo: " + v);
});
Promise.all([pOne, pTwo]).then(function(values){
console.log(values);
});
的console.log(values)
显示[undefined, undefined]
在控制台中。我对承诺的理解是我应该能够链接then()
方法。链接不能与Promise.all()
一起工作,或者这是一个错误。
注意:我使用的是promise-polyfill,但在chrome上运行它,所以它在技术上使用原生的chrome实现承诺。
你的链接工作正常。你传递给'then'的函数没有返回任何东西(相当于'undefined'),所以这就是你所得到的。如果你想传递值,你需要明确地做。 –