Nodejs async を非同期にするにはどのような関数が必要ですか?

php中世界最好的语言
リリース: 2018-04-14 16:06:26
オリジナル
1218 人が閲覧しました

今回は、nodejs async 非同期にどのような関数が必要か、nodejs async 非同期 関数を使用する際の 注意事項 についてお届けします。以下は実際的なケースです。見てみましょう。

nodejsフレームワーク

クラスライブラリはたくさんあります。「プロセス制御」は元々比較的単純なものですが、nodejsの非同期アーキテクチャの実装には、同期が必要なビジネスロジックを実装する方が面倒です。

非同期のコレクション コントロール:

async.map(arr, function(item, callback){},callback(err, results){});async.mapSeries
ログイン後にコピー
app.get('/testMap',function(req, res){
 var arr = [0,1,2,3,4,5,6];
 async.mapSeries(arr,function(item, callback){
  (function(){
  callback(null, item+1);
  }());
 },function(err, results){
  console.log(results);//[1,2,3,4,5,6,7];
 });
 });
ログイン後にコピー
results.length は arr.length に等しい;

配列 arr 内の各項目に対して非同期の function 関数 を実行し、結果を取得します。すべての結果は最終コールバックに要約されます;

非同期プロセス制御:

async.series(tasks,callback); 複数の関数が相互にデータ交換せずに順次実行されます

nodejs async异步常用函数总结(推荐)リーリー

シリアル実行。関数配列内の各関数が実行された後、次の関数が実行されます。callback(err, results) は

エラー メッセージ を返します。result は複数の関数によって返された結果セットです。

いずれかの関数がその

コールバック関数にエラーを渡した場合、後続の関数は実行されず、エラーと実行された関数の結果は直ちに一連のコールバック関数

の最後の関数に渡されます。 async.Parallel(task,callback); 複数の関数が並行して実行されます;

app.get('/testParallel',function(req, res){

app.get('/testSeries',function(req, res){
 async.series([
 function(callback){
  callback(null,'function1');
 },function(callback){
  callback(null, 'function2')
 },function(callback){
  callback(null, 'function3');
 }],function(err, results){
  console.log(results);//['function1','function2','function3'];
 });
 });
ログイン後にコピー
タスク: functionList;

コールバック:関数(エラー、結果){}

task.length と results.length は等しいです

複数の関数を並行して実行します。各関数は待機せずにすぐに実行されます。最後のコールバック配列に渡されるデータは、実行が完了した順序ではなく、タスクで宣言された順序で実行されます。 関数内でエラーが発生した場合、err と実行された関数の結果値が直ちにParallelの最終コールバックに渡されます。他の未実行関数の値は最終データには転送されませんが、場所を占めます

async.whilst(test, function, callback); は非同期で呼び出すために使用できます

tasks: functionList;
callback: function(err, result){}
ログイン後にコピー
この記事の事例を読んだ後は、メソッドを習得したと思います。さらに興味深い情報については、他の関連記事に注目してください。 PHP中国語ウェブサイトで!

推奨読書:

Vue.js での v-on イベントの使用の詳細な説明


ライブビデオプッシュのための ffmpeg に基づく nodejs


以上がNodejs async を非同期にするにはどのような関数が必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!