我如何在 javascript 中实现全部承诺?

How can i do Promise all in javascript?

我已经使用了 Promise.all,最后我没有得到一个承诺,但承诺应该接受一堆单独的承诺并给你一个承诺,对吗?

我有一个 for 循环,它将调用一个异步执行操作的方法。这个循环可以多次调用该方法。在这个循环之后,我还有另一个循环,只有当所有的东西都完成后才需要执行。

function doSomethingAsync(i) {
// do your stuf 
    setValue(i, function(err, result) {
        if (err) {
            console.log(err)
        } else {
            console.log(result)
        }
    })
}

有人可以帮助我here.i我不确定我的实施是否正确。

您的函数 doSomethingAsync 没有 return 任何 Promise。相反,它使用回调。可以这样包起来。

function doSomethingAsync(i) {
// do your stuf 
    return new Promise(resolve => {
        setValue(i, function(err, result) {
        if (err) {
            console.log(err);
            resolve(err);
        } else {
            console.log(result);
            resolve(result);
        }
    })
    })
}