What the scenario call fs.close is necessary
You don't need to use fs.close
after fs.readFile
, fs.writeFile
, or fs.appendFile
as they don't return a fd
(file descriptor). Those open the file, operate on it, and then close it for you.
The streams returned by fs.createReadStream
and fs.createWriteStream
close after the stream ends but may be closed early. If you have paused a stream, you must call close on the stream to close the fd
or resume the stream and let it end after emitting all its data.
But if you call fs.open
or any of the others that give a fd
, you must eventually fs.close
the fd
that you are given.