Rolf B: Öffnen und Schließen einer Datei in node/javascript

Beitrag lesen

Hallo effel,

Kann man "open" syncron ablaufen lassen - also erst, wenn "open" erledigt, dann weiter?

Synchron, ja. Verwende das synchrone API. Damit blockiert der Rest von Node und auch die weitere Programmausführung, bis der open fertig ist. Du bekommst ein FileHandle Objekt und kannst damit die weiteren Dateioperationen durchführen.

Aber das mache nur, wenn Du ein reines Kommandozeilentool schreibst. Wenn Du einen HTTP Eventlistener betreibst, sind blockierende Operationen tödlich. Dann bleib beim Callback API, oder verwende das Promise-API.

Leider ist die node.js Doku da sehr arm an Beispielen. Und die Beispiele, die da sind, verwenden await. Das ist Syntaxzucker für Promises, und du musst beachten, dass await nur in einer async-Funktion funktioniert ODER in einem ECMAScript-Modul (die Dinger, die mit import geladen werden).

Damit dein Hauptprogramm ein ECMAScript-Modul ist, muss in der package.json der Eintrag

  "type": "module",

stehen. Ist nicht so ganz einfach, die richtigen Stellschräubchen zu drehen...

Rolf

--
sumpsi - posui - obstruxi