簡體   English   中英

Array.prototype.map不能用於Promise嗎?

[英]Array.prototype.map can not be used for Promise?

我有一個值數組,我想創建一個promise數組以對此進行並行調用。 但是為什么地圖功能不起作用?

let myArray = [1,2,3];
myArray.map((n) => {
    return new Promise((resolve, reject) => {
        resolve(n);
    });
});
console.log(myArray); // [1,2,3]

但是,當我嘗試將Promises推送到數組時,可以按預期工作。

let myArray = [1,2,3];
let pArray = []
for(let n of myArray){
    pArray.push(new Promise((resolve, reject) => {
        resolve(i);
    }));
}
console.log(pArray); // [Promise,Promise,Promise]

這樣做是因為map不會修改數組:

let myArray = [1,2,3];
let promiseArray = myArray.map((n) => {
    return new Promise((resolve, reject) => {
        resolve(n);
    });
});
console.log(promiseArray);

您需要分配map的結果。

 let myArray = [1, 2, 3]; let pArray = myArray.map((n) => { return new Promise((resolve, reject) => { resolve(n); }); }); console.log(pArray); // [Promise,Promise,Promise] 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM