タグ

JavaScriptとawaitに関するreboot_inのブックマーク (2)

  • await vs return vs return await

    When writing async functions, there are differences between await vs return vs return await, and picking the right one is important. Let's start with this async function: async function waitAndMaybeReject() { // Wait one second await new Promise((r) => setTimeout(r, 1000)); // Toss a coin const isHeads = Boolean(Math.round(Math.random())); if (isHeads) return 'yay'; throw Error('Boo!'); } This ret

    await vs return vs return await
    reboot_in
    reboot_in 2022/07/18
    “The thing you want in try/catch blocks, is return await:”
  • Promiseでディレクトリの中のファイルごとに行う非同期再帰呼び出しをやめる - Qiita

    概要 JavaScript Promiseの の 4.8 Promiseによる逐次処理 が読んでもピンとこなかったため、逐次処理で再帰呼び出しに頼ってきていましたが、自分でコードを書いてみてやっと理解できてきたのでまとめておきます。 前提 動作確認は node.js ver.5.7.0 で行っています。 Promise の最低限の知識は必要ですが、完璧に理解できている必要はありません(自分も理解できていません)。 再帰呼び出しサンプル fs.readdir()でルートディレクトリの各ファイルについて処理を行う簡単なサンプルを以下に示します。 処理はダミーとして1秒以内の乱数によるタイムアウトとしています。 ポイント 再帰呼び出しは、関数側で自身を呼び出します。そのため以下の注意が必要です。 関数は再帰呼び出しのため配列とインデックスを必要とする。 次の処理を行う時にインデックスを+1して

    Promiseでディレクトリの中のファイルごとに行う非同期再帰呼び出しをやめる - Qiita
  • 1