This time I will bring you what functions are needed for nodejs async asynchronous, nodejs async asynchronousWhat are the precautions when using functions , the following is a practical case, let’s take a look one time.
nodejs frameworkClass librariesThere are many, "Process Control" is originally a relatively simple thing, but for the implementation method of nodejs's asynchronous architecture, for those who need to synchronize Business logic is more troublesome to implement.
async collection control:
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 is equal to arr.length;
For each item in the array arr, execute an asynchronous function function and get the result. All results will be summarized in the final callback;
async process control:
async.series(tasks,callback); Multiple functions are executed sequentially without data exchange
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']; }); });
Serial execution, after each function in a function array is executed, the next function is executed, callback (err, results); err returns error message , results are the result set returned by multiple functions ;
If any function passes an error to its callback function, the following functions will not be executed, and the error and the results of the executed functions will be immediately passed to The last callback in the series
async.parallel(tasks,callback); Multiple functions are executed in parallel;
app.get('/testParallel',function(req, res){
tasks: functionList; callback: function(err, result){}
tasks: functionList;
callback:function(err, results){}
tasks.length and results.length values are equal
Execute multiple functions in parallel. Each function is executed immediately, without waiting for Other functions to be executed first. The data passed to the final callback array is in the order declared in tasks, rather than completed. Order;
If an error occurs in a function, err and the result value of the executed function are immediately passed to parallel's final callback. The values of other unexecuted functions will not be transferred to the final data, but they will occupy a place
async.whilst(test,function,callback); can be used to call while asynchronously
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']; }); });
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related topics on the PHP Chinese website article!
Recommended reading:
Detailed explanation of the use of v-on events in Vue.js
nodejs video streaming based on ffmpeg live streaming
The above is the detailed content of What functions are needed for nodejs async to be asynchronous?. For more information, please follow other related articles on the PHP Chinese website!