This is actually undesireable as it takes away control from the user who
may want to pause/resume to throttle the upload stream, or synchronize
it with disk flushing.
I actually ran into memory issues when trying to stream huge files to
disc as the file module was building up a huge action buffer. This can
now easily be avoided like this:
part.addListener('body', function(chunk) {
req.pause();
file.write(chunk).addCallback(function() {
req.resume();
});
}
var self = this;
req
.addListener('body', function(chunk) {
- req.pause();
self.write(chunk);
- setTimeout(function() {
- req.resume();
- });
})
.addListener('complete', function() {
self.emit('complete');