node.jsで、A処理が終わったらB処理を実行するアレを今更書いてみる

node.jsに限らず、非同期処理を書いてると、上から順番に処理が走らずに変数が未定義のまま次の処理が走ってしまうことがあります。

 

これを解決するためには、コールバックみたいなものを書いて、処理Aがリターンされたら、処理Bを実行するみたいなことを書かないといけません。

 

まあ、この手の詳しいことはいくらでも詳しく書いてる情報があるので、今回の記事は備忘録みたいな感じで書くだけです。

 

書いたコードはこんな感じです。

 


    async function A() {
      try {
        // この中でawaitなりで非同期処理でapiとか叩く
         return "返り値";
      } catch (err) { 
        console.log("エラー発生");
        console.log(err);
      }
    }

 

こんな感じですね。tryの中でapiなりを叩いて、それを受け取ったらリターンする。


    A().then(result => {
      console.log("Aの処理がリターンされたらBを発動させる"); 
      B(result)
    });

 

resultはA()を実行して返ってきた値です。

 

非同期処理で普通に書いてると未定義で進んでしまうのを防ぎます。

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事

コメントする

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