問題タブ [node-async]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - node.js で非同期ウォーターフォールを使用する場合の「err」引数
一連の関数を実行しようとしており、それぞれがコールバックを次の関数に渡しています。現在、次のようになっています (軽微なエラーがあればすみません。投稿時に書き直しています!):
私の最初の質問は、入力を受け取ることができないため、この関数を適切に開始する方法がわからないということです。最終的にはそれをローカル関数にラップするつもりですが、それでも少し不安になります。
第二に、これは機能しますが、「エラー」引数がこれにどのように影響するかわかりません。引数のリストに挿入しようとすると、さまざまな方法で壊れます。任意の関数のエラーを個別にキャッチできるようにしたいのですが、それとも、渡された最後のコールバックでエラーが発生したため、これが必要ですか?
javascript - async.waterfall と async.series の違いは何ですか
nodejs async モジュール: https://github.com/caolan/asyncは 2 つの同様のメソッドを提供しasync.waterfall
、async.series
.
それらの違いは何ですか?
javascript - すべてのファイルが読み取られたら、非同期モジュールを使用してコールバックを起動する
caolan の「async」モジュールを使用して、ファイル名の配列 (この場合はテンプレート ファイル名) を開きます。
ドキュメントによると、私はasync.forEach()を使用しているため、すべての操作が完了したらコールバックを起動できます。
簡単なテストケースは次のとおりです。
出力は次のとおりです。
つまり、最後のコールバックが起動していないようです。最終的なコールバックを起動するにはどうすればよいですか?
node.js - 非同期モジュール内で「マップ」関数を使用できません
node.js の「async」モジュールを使用しており、「map」メソッドを使用する必要があります。
基本的に、他の配列を含む配列があります。内側の配列には、型と画像ファイル名の 2 つの要素が含まれます。
内部配列ごとに、ファイル名で識別される画像の base64 エンコードを取得し、このエンコード文字列を配列の 3 番目の要素として追加します。
私はこのようなことをしています:
arr.push(base64Image) が正しくないことはわかっていますが、変更された要素を返す方法がわかりません。
map(arr, iterator, callback) ドキュメントでは、次のように指定されています。
「反復子は、配列からのアイテムと、処理が終了したときのコールバックで呼び出されます。」
問題は、コールバックに新しい配列を与える方法がわからないことです。
javascript - node.js async forEachSeries を使用する場合、「続行」に相当するステートメントはありますか?
node.js async パッケージ、具体的には forEachSeries を使用して、配列から引き出されたパラメーターに基づいて一連の http 要求を作成しています。各リクエストのコールバックには、さまざまなタイプのレスポンスに応答するための if/else ステートメントがあります。
上記のelse ifの中で使用できる「continue」に相当するものはありますか? これは技術的にはループ内ではないため、続行は機能しません。
node.js - Node.js - 非同期ライブラリの使用 - async.foreach とオブジェクト
私はノード async lib - https://github.com/caolan/async#forEachを使用しており、オブジェクトを反復処理してそのインデックス キーを出力したいと考えています。完了したら、コールバックを実行したいと思います。
ここに私がこれまでに持っているものがありますが、'iterating done'
見たことはありません:
最終関数が呼び出されないのはなぜですか?
オブジェクトのインデックス キーを出力するにはどうすればよいですか?
node.js - node.jsasync.seriesが機能しない
このコードは、 https://github.com/caolan/async#seriestasks-callbackの例から直接抜粋したものです。
ただし、機能しません。「a」を印刷すると停止します。
非同期モジュールの最新ビルドのバグですか、それとも使用法に問題がありますか?
javascript - Node.jsの非同期ループから戻る方法
フロー制御に非同期ライブラリを使用する場合、具体的にはasync.forEachは、特定の項目をスキップする必要がある場合に、どのようにコールバックを適切に実行しますか。
例:
使用しないprocess.nextTick(callback)
場合、bigCollectionが大きすぎると、スタックオーバーフローが発生するリスクがありますか?そして、私が使用する場合、私はprocess.nextTick(callback)
とにかく私のコードを妨害しますか?
私はそれをそのprocess.nextTick(callback)
ようにする習慣を身につけましたが、そうすることが良い習慣であるかどうかはわかりません。
node.js - async.waterfall でネストを減らしましたが、混乱を招きました
を使用して非同期呼び出し (node + socket.io) のネストを削減しようとしてasync.waterfall
いますが、後で必要になるため、ウォーターフォールにパラメーターを追加する必要がありました。このコードはよりよく説明するかもしれません:
// 元のバージョン:
// async.js バージョン
目標は読みやすさでしたが、冗長なパラメーターの受け渡しが混乱を招くことがわかりました。async.waterfall を呼び出す前に変数を宣言し、後でチェーンで使用するために必要に応じてパラメーターを保存できることはわかっていますが、読みやすさには役立ちません。
これをよりエレガントにする方法はありますか?
node.js - Async.js 並列コールバックが実行されない
Async.js で並列関数を使用していますが、何らかの理由で最終的なコールバックが実行されず、どこにもエラーが発生していません。
並列呼び出しに渡される関数の配列を動的に作成しています。
次に、外側の関数 (上記の forEach を実行している関数の外側) に、generateFileFunc() 関数があります。
私はこのSOの投稿を見てきましたが、それは私が今いる場所にたどり着くのに役立ちました. ただし、最後のコールバックは実行されていません。ただし、並列呼び出しのすべてのアイテムが実行されています。最下部の gnerateFile (関数) の内部で、コールバックを呼び出します。
なぜこれが適切に実行されないのか、誰にも分かりますか?
最終結果は、各関数呼び出しを並行して処理し、完了時に通知されるため、他の命令の実行を続行できます。
ありがとう!