0
我想知道如果流式傳輸數據並希望在流式傳輸後訪問整個數據的良好做法;在Node.JS中流式傳輸
我流是這樣的:
res._oldWrite = res.write;
res.write = function (chunk, encoding, cb) {
var decoded = chunk.toString(encoding);
write.write(new Buffer(decoded, encoding), encoding, cb);
return res._oldWrite.call(res, new Buffer(decoded, encoding), encoding, cb);
}
現在,我要訪問我的數據我不喜歡的東西:
res._oldWrite = res.write;
var jsonData = '';
res.write = function (chunk, encoding, cb) {
var decoded = chunk.toString(encoding);
jsonData += decoded;
write.write(new Buffer(decoded, encoding), encoding, cb);
return res._oldWrite.call(res, new Buffer(decoded, encoding), encoding, cb);
}
res.on('finish', function(){
// Now I can have access to jsopnData but it is gross ; what is the right way?
})
但是是不是有什麼更好的辦法來做到這一點?
因此,您正在將數據流式傳輸到可寫入流並希望訪問該數據?你爲什麼不在你的自定義流中流到另一個流?然後你可以添加一個列表到第二個流來獲取數據。 –
對不起,我沒有明白你的意思,你可以告訴我你的解決方案在我的代碼中... –
你應該**從流**中讀取,而不是攔截'.write()'調用它! – Bergi