Ich habe gerade einen Fehler behoben, bei dem ich Dateien mit readline
gelesen und neu geschrieben habe und die Zeilen wurden in der falschen Reihenfolge geschrieben (es endete aufgrund eines asynchronen Aufrufs fs.write()
).Node.js Readline-Leitung Ereignis Rückruf garantiert, vor dem nächsten Anruf zu beenden?
Aber eine Sache, die ich dachte, war geschah, dass die readline
line Ereignis in der richtigen Reihenfolge kommen in war, aber vielleicht für einige der Linien meine Callback-Funktion fertig war nach dem anderen line
Ereignis behandelt worden war.
Um zu demonstrieren:
line1 event comes in
line1 event finishes handling
line2 event comes in //Takes a long time to process
line3 event comes in
line3 event finishes handling
line2 event finished handling //And because it was after line3, gets written back after too
Die endgültige Ausgabedatei von oben wäre wie:
line1
line3
line2
ich keine solche Garantie in der Dokumentation zu sehen war und meine Tests scheinen, dass die Punkt oben ist nicht möglich, aber ich bin mir nicht sicher. Ist das obige Szenario mit readline
möglich?