並列 io 操作の数を制限するために asyn.js を使用したいと考えています。次の例に出くわしました。
async.forEachLimit items, 5, ((item, next) ->
request item.url, (error, response, body) ->
console.log body
next error)
, (err) ->
throw err if err
console.log "All requests processed!"
しかし、次のようにストリームで使用したい:
async.forEachLimit items, 5, ((item, next)->
stream = fs.createWriteStream file
request.get(item.url).pipe(stream))
, (err)->
throw err if err
console.log "All requests processed!"
writestream がファイルへの書き込みを完了したときに、「次の」呼び出しを行うにはどうすればよいですか?