後有以下代碼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'),所以這就是你所得到的。如果你想傳遞值,你需要明確地做。 –