如何让await异步函数没有依赖,最好并发执行

下述代码会顺序执行

let foo = await getFoo();
let bar = await getBar();

如果需要多个await没有相互依赖,最好让他们同时触发,可以使用以下两种方式:

  • 使用Promise.all() 包装一个新的Promise对象
let [foo, bar] = await Promise.all([getFoo(), getBar()]);
  • 不等待分别执行,返回新的Promise对象
//没用await 立即执行返回 Promise对象
let fooPromise = getFoo();
let barPromise = getBar();
// 等待 Promise对象的结果  await就像是then的语法糖
let foo = await fooPromise;
let bar = await barPromise;

原文来自-简书“_我和你一样” https://www.jianshu.com/p/2037e3b53d5f

你可能感兴趣的:(JS)