событие, связанное с fs.createWriteStream в node.js

Какое событие срабатывает при достижении EOF при записи в stream? Мой код выглядит следующим образом. и это соответствует http://docs.nodejitsu.com/articles/advanced/streams/how-to-use-fs-create-write-stream

Но удивительно, что мое «конечное» событие никогда не срабатывает. Когда я проверил http://sofru.miximages.com/stream/stream.html; var options1 = {‘url’: url_of_an_image, ‘encoding’: null}; var r = request(options1).pipe(fs.createWriteStream(‘/tmp/imageresize/’+x)); r.on(‘end’, function(){ console.log(‘file downloaded to ‘, ‘/tmp/imageresize/’+x); }

Как захватить событие EOF?

Обновлено 30 окт 2013

Readable Steams испускают закрытое событие, когда основной ресурс записывается .

 r.on('close', function(){ console.log('request finished downloading file'); }); 

Но если вы хотите поймать момент, когда fs закончили записывать данные на диск, вам нужно записать событие finish :

 var w = fs.createWriteStream('/tmp/imageresize/'+x); request(options1).pipe(w); w.on('finish', function(){ console.log('file downloaded to ', '/tmp/imageresize/'+x); });