¿Cómo limpiar el archivo Node.js writeStream correctamente?
Mi problema es que no puedo estar seguro de cuándo se ha escrito correctamente un archivo y se ha cerrado el archivo. Considere el siguiente caso:
var fs = require('fs');
var outs = fs.createWriteStream('/tmp/file.txt');
var ins = <some input stream>
...
ins.on('data', function(chunk) { out.write(chunk); });
...
ins.on('end', function() {
outs.end();
outs.destroySoon();
fs.stat('/tmp/file.txt', function(err, info) {
// PROBLEM: Here info.size will not match the actual number of bytes.
// However if I wait for a few seconds and then call fs.stat the file has been flushed.
});
});
Entonces, ¿cómo puedo forzar o de otro modo asegurar que el archivo se haya vaciado correctamente antes de acceder a él? Necesito estar seguro de que el archivo está ahí y completo, ya que mi código debe generar un proceso externo para leer y procesar el archivo.