4
我有這樣的代碼在節點0.10的工作,但不打印輸出在0.8節點異步流管道
var http = require('http');
var req = http.request('http://www.google.com:80', function(res) {
setTimeout(function() {
res.pipe(process.stdout);
}, 0);
});
req.end();
一些猜測,我發現解決方法後:
var http = require('http');
var req = http.request('http://www.google.com:80', function(res) {
res.pause();
setTimeout(function() {
res.resume();
res.pipe(process.stdout);
}, 0);
});
req.end();
但documentation說,該停頓諮詢,這讓我感到困惑。爲什麼我應該暫停流,哪裏沒有連接到任何地方?
我認爲舊樣式(0.10之前)的流不應該被稱爲流,但別的東西。我認爲,對於那些對某種流API應該看起來像是來自其他語言的用戶有一定期待的人們來說,這是非常混亂的根源。 –
@UstamanSangat「* stream *」只是隨時間傳輸的順序數據;他們當然是那樣的。值得讚揚的是完全不同的辯論問題。但是,期待一種語言的功能在另一種語言中完全匹配通常不是一個安全的選擇。 –
好......但顯然他們投入並認識到在0.10 ;-) –