繁体   English   中英

顺序 function 调用

[英]Sequential function calls

我有一个异步函数数组,要按顺序调用,前面function的调用结果传入arguments。 大约如何做到这一点?

// lets say we have a function that takes a value and adds 20 to it asynchronously
const asyncPlus20 = num => Promise.resolve(num+a)
const arr = [asyncPlus20, asyncPlus20]

let res = 0 // some starting value
for (const f of arr) res = await f(res)
// res is now 20

异步函数数组的最佳方法之一是使用For...of

在控制台中运行以下代码段。 >> 还包括参数传递

const twoSecondsPromise = () => {
    return new Promise((resolve) => {
        setTimeout(() => resolve('2000_'), 2000);
    })
};

const threeSecondsPromise = (val) => {
    return new Promise((resolve) => {
        setTimeout(() => resolve(val + '3000_'), 3000);
    })
};

const fiveSecondsPromise = (val) => {
    return new Promise((resolve) => {
        setTimeout(() => resolve(val + '5000_'), 5000);
    })
};

(async function () {
    const asyncFunctions = [twoSecondsPromise, threeSecondsPromise, fiveSecondsPromise];
    let result;
    for (const file of asyncFunctions) {
        result = await file(result);
        console.log(result);
     }
})();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM