2012-12-26 73 views
4

我正在嘗試使用ntwitter,node.js和socket.io來訪問twitter用戶流。twitter用戶流正常工作,我可以實時獲取tweets。tweets使用以下功能顯示在控制檯中。node.js和socket.io未捕獲的錯誤

console.log(data.text) ; 

然後我想數據推送到browser.this可使用sockets.the下面的鏈接來完成顯示例子的簡單的node.js客戶端twitetrs公共流。

http://www.informit.com/articles/article.aspx?p=1947699&seqNum=5

現在同樣沒有按不是我的用戶stream.the數據的工作被顯示在控制檯中沒有任何問題,但如果我嘗試把它推到瀏覽器我得到的錯誤。

Error: Uncaught, unspecified 'error' event. 
at EventEmitter.emit (events.js:73:15) 
at EventEmitter.receive (C:\Users\tweeple\Desktop\ho 
odules\ntwitter\lib\parser.js:41:14) 
at IncomingMessage.Twitter.stream (C:\Users\prathamesh\ 
e03\node_modules\ntwitter\lib\twitter.js:266:14) 
at IncomingMessage.EventEmitter.emit (events.js:96:17) 
at IncomingMessage._emitData (http.js:359:10) 
at HTTPParser.parserOnBody [as onBody] (http.js:123:21) 
at CleartextStream.socketOnData [as ondata] (http.js:13 
at CleartextStream.CryptoStream._push (tls.js:526:27) 
at SecurePair.cycle (tls.js:880:20) 
at EncryptedStream.CryptoStream.write (tls.js:267:13) 

代碼:

var app = require('express').createServer(), 
twitter = require('ntwitter'), 
io = require('socket.io').listen(app); 
app.listen(3000); 

var twit = new twitter({ 
consumer_key: 'key', 
consumer_secret: 'consumer secret', 
access_token_key: 'token', 
access_token_secret: 'token secret' 
}); 

twit.stream('user', {track:'nodejs'}, function(stream) { 
stream.on('data', function (data) { 
io.sockets.emit('tweet',{ 
    user: data.user.screen_name, 
    text: data.text 
}); 
}); 
}); 
app.get('/', function (req, res) { 
res.sendfile(__dirname + '/index.html'); 
}); 

請幫助我。

+0

我試圖做同樣的和得到同樣的錯誤。你是如何解決它的? –

+0

該死的同樣在這裏,沒有答案...谷歌你離棄了我! – contractorwolf

回答

1

處理錯誤可能工作:

stream.on('error', function(error) { 
    console.error(error); 
}); 
+0

謝謝!它爲我工作 – ZuzEL