Promise.all中的索引

时间:2019-01-07 05:45:37

标签: javascript promise

Promise.all方法没有针对特定承诺的索引,因此在我的情况下,我想知道是否可以这样做:

let promises = [Promise.resolve(true), 
                Promise.resolve(true), 
                Promise.resolve(false), 
                Promise.resolve(true)];

Promise.all(promises).then(result => {
    console.log(result);
    // [true, true, false, true]

    let failed = result.findIndex(r => !r);
    console.log(promises[failed]);

});

现在这是假设顺序始终保持不变,即结果数组始终与输入数组具有相同的顺序吗?

1 个答案:

答案 0 :(得分:1)

使用Promise.all时,返回的数组将始终与提供的数组相同,因此您可以安全地使用集合索引。