我有一個node.js腳本/服務器,它在啓動時從stdin讀取一些輸入。但是,有時候沒有數據要傳入。這很麻煩,因爲在這種情況下,似乎既不調用data
也不調用end
事件。如何在node.js代碼中檢測到這種情況?node.js:如何檢測一個空的標準輸入流?
我想,以避免在輸入的末尾追加特殊的「端」字,以免帶來不便的客戶。相關聯的代碼如下:
var newHTML = '';
var gfm = spawn(__dirname + '/node_modules/docter/bin/github-flavored-markdown.rb');
process.stdin.on('data', function(chunk){
gfm.stdin.write(chunk);
});
process.stdin.on('end', function(){
gfm.stdin.end();
});
gfm.stdout.on('data', function(data) {
newHTML += data;
});
gfm.on('exit',function(ecode){
socket.emit('newContent', newHTML);
});
process.stdin.resume();
你試過process.stdin.on( '錯誤',函數(){})? – Marshall 2012-02-10 17:28:11
或gfm.stdout.on('error',function(){}) – Marshall 2012-02-10 17:28:33
找到了解決方案?這似乎不可能。 – antitoxic 2013-07-21 14:32:29