2012-09-28 53 views
4

我是新來的node.js,所以請原諒簡單的問題。我正在寫一些標準:使用ntwitter前往Twitter的其餘API,並保存在MySQL上的東西。我遇到的麻煩是使用ntwitter斷開連接並重新連接到twitter。如何使用ntwitter停止並重新啓動Twitter流

我查了有點類似的問題,以我的,但一個仍未得到解決:Restarting nodejs ntwitter twitter stream with different track keywords

的問題是雙重的:

1)如何檢查twit.stream是活着
2)如何殺了它/手動從twitter斷開

我使用destroy,但似乎並沒有工作。代碼的相關部分是:

if (values[0] == 'newStatusAdded') { 
    console.log('Need to stop twitter listener'); 
    //check if twitter stream is running 
    if (twit.stream) { 
    twit.stream.destroy; 
    debugger; 
    console.log('Stopped twitter listener'); 
    } 

感謝....

回答

4

我覺得你在你的代碼有一個設置的地方是這樣的:從內部

twit.stream('statuses/sample', function(stream) { 
    stream.on('data', function (data) { 
    console.log(data); 
    }); 
}); 

保存流變量回調,例如stream.on()

twit.currentTwitStream = stream; 

這只是一個建議。也許你有一箇中央配置對象,這對於當前流對象來說是一個更好的地方。使用currentTwitStream您可以這樣做:

  1. currentTwitStream.readable錯誤或關閉後錯誤。
  2. currentTwitStream.destroy()破壞流。
+0

感謝,這個工作就像一個魅力:-) – icaro

+0

我知道這是一箇舊帖子,但你能提供一個更清楚的例子,你如何摧毀流。 – FiringSquadWitness

+0

對不起,但沒有,因爲我沒有時間仔細測試。 – nalply

1

我也遇到過這個問題。最終爲我工作的是stream.stop()

.destroy().disconnect()等提出了各種各樣的錯誤如

.destroy沒有定義。

相關問題