Ich bin neu bei node.js. Ich erforsche bereits, wie ich meinen Code außerhalb von node.js Threadschleife (Ereignisschleife) auf Google ausführen kann, aber die Antwort nicht bekommen kann.Laufender Code außerhalb von node.js Thread-Schleife
Wie kann ich eine Funktion erstellen, die außerhalb Knoten Ereignisschleife ausgeführt wird. beispielsweise in mungo, verwenden sie
scheme.save(function(err)){
console.log('saved');
});
Daten eingefügt werden, wobei der Knoten das Insert Code ausgeführt (Speicherfunktion) außerhalb Ereignisschleife und dann zurück zu Ereignisschleife meinen Rückruf auszuführen (in dem obigen Beispiel, tut etwas Protokollierung).
i versuchen
function getUser(id, callback) {
setTimeout(function() {
console.log('executed');
callback(null, "jhon");
}, 5000);
}
function display(err,user) {
console.log(user);
}
getUser(432, display);
console.log('this show first');
aber es synchron laufen (es die Ereignisschleife für 5 Sekunden blockieren, bevor neue Anforderung behandelt wird).
Wie kann ich die gleiche "Speichern" -Funktion implementieren, so dass es keine Ereignisschleife für 5 Sekunden im obigen Code blockiert? ein Thema zu lesen? danke.
Warum denken Sie, es blockiert die Ereignisschleife? –
Bitte lesen Sie die aktualisierte Frage. Ich versuche, Code auf 2 getrennte Registerkarte oben auszuführen. und das zweite Protokoll "Diese Show zuerst" wird protokolliert, nachdem das erste "Jhon" -Log erschienen ist. mache ich es falsch? "Show erste" "jhon" "Show erste" "jhon" statt 'Show erste Show erste john john' – gitong0315
es so etwas wie drucken falsch. @shershen Antwort ist richtig. – gitong0315