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