Heim  >  Artikel  >  Web-Frontend  >  Welche Funktionen sind erforderlich, damit NodeJS Async asynchron ist?

Welche Funktionen sind erforderlich, damit NodeJS Async asynchron ist?

php中世界最好的语言
php中世界最好的语言Original
2018-04-14 16:06:261255Durchsuche

Dieses Mal werde ich Ihnen zeigen, welche Funktionen für die asynchrone Nodejs-Asynchronfunktion erforderlich sind. Hier sind die praktischen Fälle. Werfen wir einmal einen Blick. Es gibt viele nodejs-FrameworksKlassenbibliotheken

Prozesssteuerung“ ist ursprünglich eine relativ einfache Sache, aber für die Implementierung der asynchronen Architektur von nodejs Wer eine Synchronisierung benötigt, ist schwieriger zu implementieren. Geschäftslogik ist schwieriger zu implementieren. Asynchrone Sammlungskontrolle:

results.length ist gleich arr.length;
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];
 });
 });

Führen Sie für jedes Element im Array arr eine asynchrone

Funktionsfunktion

aus, um das Ergebnis zu erhalten. Alle Ergebnisse werden im abschließenden Rückruf zusammengefasst; Asynchrone Prozesssteuerung:

async.series(tasks,callback); Mehrere Funktionen werden nacheinander ohne Datenaustausch zwischen ihnen ausgeführt

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

Serielle Ausführung: Nachdem jede Funktion in einem Funktionsarray ausgeführt wurde, wird die nächste Funktion ausgeführt. Callback (Err, Ergebnisse);
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'];
 });
 });
Wenn eine Funktion einen Fehler an ihre
tasks: functionList;
callback: function(err, result){}
Rückruffunktion

übergibt, werden die nachfolgenden Funktionen nicht ausgeführt und der Fehler und die Ergebnisse der ausgeführten Funktionen werden sofort an den letzten Rückruf in der Reihe async.parallel(tasks,callback); Mehrere Funktionen werden parallel ausgeführt;

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

Aufgaben: Funktionsliste;

callback:function(err, results){} task.length und results.length sind gleich

 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'];
 });
});

Führen Sie mehrere Funktionen gleichzeitig aus, ohne darauf zu warten, dass

andere

Funktionen zuerst ausgeführt werden. Die an das endgültige Callback-Array übergebenen Daten werden in der in den Aufgaben angegebenen Reihenfolge übergeben . Die Bestellung;

Wenn in einer Funktion ein Fehler auftritt, werden err und der Ergebniswert der ausgeführten Funktion sofort an den letzten Callback von Parallel übergeben. Die Werte anderer nicht ausgeführter Funktionen werden nicht in die endgültigen Daten übernommen, sondern nehmen einen Platz ein

async.whilst(test, function, callback); kann zum asynchronen Aufruf verwendet werden, while

Ich glaube, Sie haben die Methode beherrscht, nachdem Sie den Fall in diesem Artikel gelesen haben Spannende Informationen, bitte achten Sie auf andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Verwendung von V-on-Ereignissen in Vue.js
app.get('/testWhilst',function(req, res){
 var count = 0;
 async.whilst(function(){
  if(count < 3) return true;
 },function(callback){
  (function(){
  count++;
  callback(null);
  }());
 },function(err){
  console.log(count);//3
 });
 });

nodejs Video-Streaming basierend auf ffmpeg Live-Übertragung


Das obige ist der detaillierte Inhalt vonWelche Funktionen sind erforderlich, damit NodeJS Async asynchron ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn