JavaScriptでasyncを実行したいときは即時関数を使おう

JavaScriptをブラウザで実行させるときに、その中で非同期関数をそのまま実行させたい場合がある。

その場合の実装方法についてまとめていく。

即時関数を使おう

答えとしては単純で、即時関数を使おう

即時関数(正式には即時実行関数式と言う)については下記サイトが詳しい

IIFE (即時実行関数式) - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN
IIFE (Immediately Invoked Function Expression; 即時実行関数式) は定義されるとすぐに実行される JavaScript の関数です。

簡単に言うと、実行するjsを下記のような関数でくくってしまえばいい。

(async () => {
  //実行したいjsをここに
})();

こうするとawaitも中で使うことができる。

その他の即時関数が使えるパターン

その他で便利なのは、GTMでJavaScriptを埋め込む場合である。

もちろん使わない場合が大半なのだが、例えば特定の条件で途中で処理を止める場合に役立つ

例えば、、

(() => {

  if(hogehoge){
    return;
  }
  //hogehogeがtrueなら、ここからは実行されない

})();

こんな具合です。

タイトルとURLをコピーしました