ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejs async 非同期共通関数の例の共有

Nodejs async 非同期共通関数の例の共有

小云云
小云云オリジナル
2018-01-18 13:20:501471ブラウズ

この記事では、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内の各項目に対して非同期関数関数を実行し、答えを取得します。 。すべての結果は最終的なコールバックに要約されます。

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'];
 });
 });
シリアル実行。関数配列内の各関数が実行された後、次の関数が実行されます。callback(err, results); err はエラー情報を返します。result は複数の関数によって返された結果セットです。

いずれかの関数がコールバック関数にエラーが発生した場合、後続の関数は実行されず、エラーと実行された関数の結果はすぐに一連の最後のコールバックに渡されます

async.Parallel(tasks, callback);並列;


tasks: functionList;
callback: function(err, result){}

tasks: functionList;


callback:function(err, results){}

tasks.length と results は等しいです

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

async.whilst(test, function, callback); を使用して while


を非同期的に呼び出すことができます。
app.get('/testParallel',function(req, res){
 async.parallel([
 function(callback){
  callback(null,'function1');
 },function(callback){
  callback(null, 'function2')
 },function(callback){
  callback(null, 'function3');
 }],function(err, results){
  console.log(results);//['function1','function2','function3'];
 });
});

関連する推奨事項:

JS 非同期関数キュー関数のサンプル分析

JavaScript 非同期関数の戻り値の例を詳細に取得する

JavaScript 非同期関数の開発履歴コード例の詳細な紹介

以上がNodejs async 非同期共通関数の例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。