4
我有以下服务器内部配管工作。为什么不回调
var fs = require('fs');
var request = require('request');
var crs = fs.createReadStream(__dirname + '/file.txt');
var r = request.post('http://0.0.0.0:3000');
crs.pipe(r);
有时可以使用,但大部分时间/output/file.txt都是空的。当我将req.pipe(...)移到mkdir回调之外时,它每次都有效。有谁能解释为什么会发生?
不幸的是,我的经验是,当你在回调的时候,暂停()该流已经太迟了。我最终在请求流前添加了一个显式缓冲区来缓解这个问题。请参阅https://github.com/Obvious/pipette#valve了解草图。 – danfuzz 2012-07-10 19:20:57