我想知道如何解决使用异步按顺序运行承诺数组的问题,特别是如何将解析后的值从一个函数传递到下一个函数。
到目前为止,我所看到的所有示例都显示如下内容:
const value = await foo();
const value2 = await bar(value);
我希望从一个数组开始依次运行它们,但是只是不确定如何在它们之间传递返回的值(因为我在这里尝试使用香草js异步)。
答案 0 :(得分:2)
您可以这样创建管道:
let fnArray = [foo, bar, baz];
let lastResult;
for(let i = 0; i < fnArray.length; i++) {
lastResult = await fnArray[i](lastResult);
}
答案 1 :(得分:1)
将它们包装在.then()
foo()
.then(valueFoo => bar(valueFoo))
.then(valueBar => AnotherFunc(valueBar))
.catch(e => { console.log(e)})