問題タブ [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.

0 投票する
2 に答える
8909 参照

javascript - node.js で非同期ウォーターフォールを使用する場合の「err」引数

一連の関数を実行しようとしており、それぞれがコールバックを次の関数に渡しています。現在、次のようになっています (軽微なエラーがあればすみません。投稿時に書き直しています!):

私の最初の質問は、入力を受け取ることができないため、この関数を適切に開始する方法がわからないということです。最終的にはそれをローカル関数にラップするつもりですが、それでも少し不安になります。

第二に、これは機能しますが、「エラー」引数がこれにどのように影響するかわかりません。引数のリストに挿入しようとすると、さまざまな方法で壊れます。任意の関数のエラーを個別にキャッチできるようにしたいのですが、それとも、渡された最後のコールバックでエラーが発生したため、これが必要ですか?

0 投票する
4 に答える
33407 参照

javascript - async.waterfall と async.series の違いは何ですか

nodejs async モジュール: https://github.com/caolan/asyncは 2 つの同様のメソッドを提供しasync.waterfallasync.series.

それらの違いは何ですか?

0 投票する
2 に答える
6942 参照

javascript - すべてのファイルが読み取られたら、非同期モジュールを使用してコールバックを起動する

caolan の「async」モジュールを使用して、ファイル名の配列 (この場合はテンプレート ファイル名) を開きます。

ドキュメントによると、私はasync.forEach()を使用しているため、すべての操作が完了したらコールバックを起動できます。

簡単なテストケースは次のとおりです。

出力は次のとおりです。

つまり、最後のコールバックが起動していないようです。最終的なコールバックを起動するにはどうすればよいですか?

0 投票する
3 に答える
2991 参照

node.js - 非同期モジュール内で「マップ」関数を使用できません

node.js の「async」モジュールを使用しており、「map」メソッドを使用する必要があります。
基本的に、他の配列を含む配列があります。内側の配列には、型と画像ファイル名の 2 つの要素が含まれます。

内部配列ごとに、ファイル名で識別される画像の base64 エンコードを取得し、このエンコード文字列を配列の 3 番目の要素として追加します。

私はこのようなことをしています:

arr.push(base64Image) が正しくないことはわかっていますが、変更された要素を返す方法がわかりません。

map(arr, iterator, callback) ドキュメントでは、次のように指定されています。

「反復子は、配列からのアイテムと、処理が終了したときのコールバックで呼び出されます。」

問題は、コールバックに新しい配列を与える方法がわからないことです。

0 投票する
1 に答える
5442 参照

javascript - node.js async forEachSeries を使用する場合、「続行」に相当するステートメントはありますか?

node.js async パッケージ、具体的には forEachSeries を使用して、配列から引き出されたパラメーターに基づいて一連の http 要求を作成しています。各リクエストのコールバックには、さまざまなタイプのレスポンスに応答するための if/else ステートメントがあります。

上記のelse ifの中で使用できる「continue」に相当するものはありますか? これは技術的にはループ内ではないため、続行は機能しません。

0 投票する
2 に答える
75349 参照

node.js - Node.js - 非同期ライブラリの使用 - async.foreach とオブジェクト

私はノード async lib - https://github.com/caolan/async#forEachを使用しており、オブジェクトを反復処理してそのインデックス キーを出力したいと考えています。完了したら、コールバックを実行したいと思います。

ここに私がこれまでに持っているものがありますが、'iterating done'見たことはありません:

  1. 最終関数が呼び出されないのはなぜですか?

  2. オブジェクトのインデックス キーを出力するにはどうすればよいですか?

0 投票する
1 に答える
9828 参照

node.js - node.jsasync.seriesが機能しない

このコードは、 https://github.com/caolan/async#seriestasks-callbackの例から直接抜粋したものです。

ただし、機能しません。「a」を印刷すると停止します。

非同期モジュールの最新ビルドのバグですか、それとも使用法に問題がありますか?

0 投票する
1 に答える
449 参照

javascript - Node.jsの非同期ループから戻る方法

フロー制御に非同期ライブラリを使用する場合、具体的にはasync.forEachは、特定の項目をスキップする必要がある場合に、どのようにコールバックを適切に実行しますか。

例:

使用しないprocess.nextTick(callback)場合、bigCollectionが大きすぎると、スタックオーバーフローが発生するリスクがありますか?そして、私が使用する場合、私はprocess.nextTick(callback)とにかく私のコードを妨害しますか?

私はそれをそのprocess.nextTick(callback)ようにする習慣を身につけましたが、そうすることが良い習慣であるかどうかはわかりません。

0 投票する
1 に答える
2493 参照

node.js - async.waterfall でネストを減らしましたが、混乱を招きました

を使用して非同期呼び出し (node + socket.io) のネストを削減しようとしてasync.waterfallいますが、後で必要になるため、ウォーターフォールにパラメーターを追加する必要がありました。このコードはよりよく説明するかもしれません:

// 元のバージョン:

// async.js バージョン

目標は読みやすさでしたが、冗長なパラメーターの受け渡しが混乱を招くことがわかりました。async.waterfall を呼び出す前に変数を宣言し、後でチェーンで使用するために必要に応じてパラメーターを保存できることはわかっていますが、読みやすさには役立ちません。

これをよりエレガントにする方法はありますか?

0 投票する
3 に答える
2101 参照

node.js - Async.js 並列コールバックが実行されない

Async.js で並列関数を使用していますが、何らかの理由で最終的なコールバックが実行されず、どこにもエラーが発生していません。

並列呼び出しに渡される関数の配列を動的に作成しています。

次に、外側の関数 (上記の forEach を実行している関数の外側) に、generateFileFunc() 関数があります。

私はこのSOの投稿を見てきましたが、それは私が今いる場所にたどり着くのに役立ちました. ただし、最後のコールバックは実行されていません。ただし、並列呼び出しのすべてのアイテムが実行されています。最下部の gnerateFile (関数) の内部で、コールバックを呼び出します。

なぜこれが適切に実行されないのか、誰にも分かりますか?

最終結果は、各関数呼び出しを並行して処理し、完了時に通知されるため、他の命令の実行を続行できます。

ありがとう!