Node.js, FileStreams, Обработка ошибок

Как, по науке, поступить с потоками при работе с файлами, если с ними может случиться всякое. Ну то есть сказать Ноде «Ой, всё. Не очень-то и хотелось»

var rs = fs.createReadStream ("in.mp4")
var ws = fs.createWriteStream ("out.mp4")

function onRError () { rs.destroy ();  ws.destroy (); }  // Right?
function onWError () { rs.destroy ();  ws.destroy (); }  // Right? +Remove outfile

// Flowing Mode

rs.on ('error', onRError)
ws.on ('error', onWError)

rs.on ('close', () => ws.end ())
ws.on ('drain', () => rs.resume ())
rs.on ('data', (c) => { if (!ws.write (c))  rs.pause () })

Но ведь destroy (хоть и подчищает всё) сам может сгенерировать события error и close


Ответы (0 шт):