Как правильно закачать файл Node.js в writeStream?

Моя проблема в том, что я не могу быть уверен, когда файл был успешно записан и файл был закрыт. Рассмотрим следующий случай:

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.
   });
});

Итак, как мне принудительно или иным образом убедиться, что файл был должным образом очищен перед доступом к нему? Я должен быть уверен, что файл там и готов, так как мой код должен порождать внешний процесс для чтения и обработки файла.

Ответы на вопрос(2)

Ваш ответ на вопрос