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