一起运行多个异步方法

时间:2019-08-30 11:19:16

标签: typescript asynchronous

有没有一种方法可以同时运行三个方法,然后将结果分配给对象?我已经尝试过下面的示例,但是它不起作用。

const checkResults: IMyType = {
            chk1: await startChk1.run(),
            chk2: await startChk2.run(),
            chk3: await startChk3.run(),
        };


 Promise.all(
            [chk1.run(), chk2.run()],
            chk3.run()
        ).then((results) => {
            const theResults: IMyType = {
                chk1: results[0],
                chk2: results[1],
                chk3: results[2]
            };
        });

1 个答案:

答案 0 :(得分:1)

类似于以下内容的方法将一次运行3个方法并将值返回给3个变量:

let [ var1, var2, var3 ] = await Promise.all([chk1.run(), chk2.run(), chk3.run()])

如果要将结果分配给数组,则可以将3个变量替换为数组名称,例如让chkArray = ...

相关问题