Write to streams, respecting backpressure.
Write random numbers to an http response until it ends:
var write = require('co-write');
var co = require('co');
var http = require('http');
http.createServer(function(req, res){
co(function*(){
while (true) {
var open = yield write(res, ''+Math.random());
if (!open) return;
}
})();
}).listen(8000);
Write chunk to stream and block until stream is writable again.
Returns false when stream ended and you should stop writing to it.
Throws when stream already ended.
When an HTTP request ended, the HTTP response stays writable, only it's
underlying socket closes. To stay consistent with other streams' behavior,
in that case write() will throw an error itself.
$ npm install co-write
MIT