Javascript 停止流时出现Nodejs Twit模块错误

Javascript 停止流时出现Nodejs Twit模块错误,javascript,node.js,angularjs,streaming,Javascript,Node.js,Angularjs,Streaming,我正在使用在AngularJS应用程序中显示Twitter流。我想在用户单击停止按钮时提供关闭流的选项 处理流式处理的脚本: var Twit = require('twit'); var T = new Twit({ consumer_key : 'XXX', consumer_secret : 'XXX', access_token : 'XXX', access_token_secret : 'XXX' }); func

我正在使用在AngularJS应用程序中显示Twitter流。我想在用户单击停止按钮时提供关闭流的选项

处理流式处理的脚本:

var Twit = require('twit');
var T = new Twit({
    consumer_key        : 'XXX',
    consumer_secret     : 'XXX',
    access_token        : 'XXX',
    access_token_secret : 'XXX'
});

function streamingHashtag(streamBool)
{    
  var stream = T.stream('statuses/filter', { track: 'test' });

  stream.on('tweet', function (tweet) {
    console.log(tweet);
  });

  stream.on('disconnect',function(disconnectMessage){
    stream.stop();
  });

  if(streamBool == false){
    stream.stop();
    console.log('Stream stopped by user');
  }
}
按下按钮停止后,控制台输出以下错误,流继续:

message: "Cannot call method 'abort' of undefined", stack: "TypeError: Cannot call method 'abort' of undefined…es\connect\lib\middleware\methodOverride.js:37:5)"}
message: "Cannot call method 'abort' of undefined"
stack: "TypeError: Cannot call method 'abort' of undefined?    at OARequest.stop ([localhost]\node_modules\twit\lib\oarequest.js:110:16)?    at Object.streamingHashtag ([localhost]\server\library\twitter.js:40:10)?    at exports.twitterStream ([localhost]\server\routes\index.js:11:10)?    at callbacks ([localhost]\node_modules\express\lib\router\index.js:161:37)?    at param ([localhost]\node_modules\express\lib\router\index.js:135:11)?    at pass ([localhost]\node_modules\express\lib\router\index.js:142:5)?    at Router._dispatch ([localhost]\node_modules\express\lib\router\index.js:170:5)?    at Object.router ([localhost]\node_modules\express\lib\router\index.js:33:10)?    at next ([localhost]\node_modules\express\node_modules\connect\lib\proto.js:190:15)?    at Object.methodOverride [as handle] ([localhost]\node_modules\express\node_modules\connect\lib\middleware\methodOverride.js:37:5)"
我正在运行最新版本(package.json说“version”:“1.1.11”),经过调查,我在OARequest.js中找到了指向abort()的stop函数


我在这里做错了什么?

如果有人犯了同样的错误,请允许我回答我自己的问题,因为我已经找到了答案。错误表明在未定义上没有“abort”方法,而我确信我声明了变量

该错误是由于两次调用该函数,从而创建了一个旧变量不可用的新范围。在函数外部全局定义变量修复了此问题