Heim > Artikel > Web-Frontend > Beispiel für die Verwendung von Process.nextTick in Node.js_node.js
Ich kann mich nicht erinnern, wo ich den Aufruf von „process.nextTick“ zum ersten Mal gesehen habe. Oh, ich hätte ihn im offiziellen NodeJS-Prozessdokument sehen sollen. Zu diesem Zeitpunkt verstand ich nicht, wofür dieses Ding gedacht war. Wir hatten bereits setTimeout. Warum brauchten wir diese Funktion? Und was macht diese Funktion im Grunde? Was ist der Unterschied zwischen setTimeout und setTimeout?
Es gibt einen sehr guten Beitrag zum Stackoverflow, der im Grunde mein Problem erklärt. Hier füge ich den Link hinzu und gebe darin ein Beispiel:
stackoverflow.com >> Was sind die richtigen Anwendungsfälle für process.nextTick in Node.js?
var MyConstructor = function() { ... process.nextTick(function() { self._continue(); }); }; MyConstructor.prototype.__proto__ = EventEmitter.prototype; MyConstructor.prototype._continue = function() { // without the process.nextTick // these events would be emitted immediately // with no listeners. they would be lost. this.emit('data', 'hello'); this.emit('data', 'world'); this.emit('end'); }; function(req, res, next) { var c = new MyConstructor(...); c.on('data', function(data) { console.log(data); }); c.on('end', next); }
Um es einfach auszudrücken: Aufgrund des asynchronen Modells können einige Codes ausgeführt werden, bevor die von ihnen benötigten Bedingungen erfüllt sind. Fügen Sie diese Codes, die Vorbedingungen erfordern, in eine Rückruffunktion ein und setzen Sie dann „Gehe an den Anfang“ des nächsten Ereignisses Schleife. Dann werden diese Codes nicht sofort ausgeführt, sondern warten, bis die nächste Ereignisrunde gestartet wird, und werden nach dem Start ausgeführt.