Ich weiß, dass die Rückruffunktion asynchron ausgeführt wird, aber warum?

Welcher Teil der Syntax enthält die Information, dass diese Funktion in einem anderen Thread ausgeführt werden und nicht blockierend sein soll?

Betrachten wir einfache asynchrone E / A in node.js

 var fs = require('fs');
 var path = process.argv[2];

  fs.readFile(path, 'utf8', function(err,data) {
   var lines = data.split('\n');
   console.log(lines.length-1);
  });

Was genau macht den Trick, dass es im Hintergrund passiert? Könnte jemand es genau erklären oder einen Link zu einer guten Ressource einfügen? Überall, wo ich nachgeschaut habe, gibt es viele Informationen darüber, was Rückruf ist, aber niemand erklärt, warum es tatsächlich so funktioniert.

Dies ist nicht die spezifische Frage zu node.js, sondern das allgemeine Konzept des Rückrufs in jeder Programmiersprache.

BEARBEITEN

Wahrscheinlich ist das Beispiel, das ich zur Verfügung gestellt habe, hier nicht das Beste. Betrachten wir dieses Code-Snippet von node.j nicht. Ich frage allgemein: Was macht den Trick aus, den das Programm ausführt, wenn es auf eine Rückruffunktion stößt? Was macht das Callback-Konzept in der Syntax zu einem nicht blockierenden?

Danke im Voraus

Antworten auf die Frage(6)

Ihre Antwort auf die Frage