🖥

node js - 複数の同時並行処理をしてPromiseの結果を待ち受ける (Promiseの変数代入とawait)

に公開

コード

3秒程度かかる処理を同時並行で複数実行する
戻り値でPromiseを得ておいて後からPromiseに対してawaitする

const { setTimeout } = require('timers/promises');

const long_tasks = async () => {
  long_task_promise1 = long_task();
  long_task_promise2 = long_task();
  long_task_promise3 = long_task();

  long_task_var1 = await long_task_promise1;
  long_task_var2 = await long_task_promise2;
  long_task_var3 = await long_task_promise3;

  console.log(long_task_var1);
  console.log(long_task_var2);
  console.log(long_task_var3);
};

const long_task = async () => {
  await setTimeout(3000);
  return "long task";
};

long_tasks();

結果

すべての処理が3秒程度で終わり結果が表示される

long task
long task
long task

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2022-11-03

Discussion