ワイズリマインダー

非同期なコールバックが終了するまで待機する

let proxyFunc = async (cb) => await cb();

proxyFunc(async () => {
  // 非同期処理の前に実行するもの
  console.log('start');

  await new Promise( (resolve, reject) => {
    // ここに非同期処理を記述
    console.log('非同期処理を開始する');
    setTimeout( () => {
      console.log('非同期処理が完了した');
      // 非同期処理が完了したらresolve
      resolve();
    }, 2000);
  });

  // 非同期処理を待機してから実行するもの
  console.log('finish');
});

実行結果

start
非同期処理を開始する
非同期処理が完了した
finish

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

検索

最近のコメント

最近の投稿

タグ

フィード配信

アーカイブ

外部リンク