4

node.jsは初めてなので、簡単な質問をお許しください。私は何か標準的なものを書いています。ntwitterを使用してTwitterにアクセスし、mysqlにデータを保存するRESTAPIです。私が問題を抱えているのは、ntwitterを使用してTwitterを切断して接続し直すことです。

私は私のものとやや似た質問をチェックしましたが、それはまだ答えられていません:異なるトラックキーワードでnodejsntwittertwitterストリームを再起動します

問題は2つあります。

twit.stream1)が生きているかどうかを確認する
方法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

2 に答える 2

4

コードのどこかに次のような設定があると思います。

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

コールバック内から、たとえば次の後にストリーム変数を保存しますstream.on()

  twit.currentTwitStream = stream;

これは単なる提案です。おそらく、現在のストリームオブジェクトに適した中央構成オブジェクトがあります。あなたとこれcurrentTwitStreamを行うことができます:

  1. currentTwitStream.readableエラーまたはクローズ後にfalseになります。
  2. currentTwitStream.destroy()ストリームを破棄します。
于 2012-09-28T12:07:06.813 に答える
2

私もこの問題に直面していました。最終的に私のために働いたのはでしたstream.stop()

.destroy().disconnect()など、さまざまなエラーが発生しました。

.destroy定義されてない。

于 2016-10-26T03:34:44.180 に答える