Javascript 没有方法';setMaxListeners';错误

Javascript 没有方法';setMaxListeners';错误,javascript,node.js,request,Javascript,Node.js,Request,根据需要,我需要调用request.setMaxListeners(0)来解决所描述的问题 当我尝试这样做时: var request = require('request'); request.setMaxListeners(0); 我收到以下错误消息: request.setMaxListeners(0); ^ TypeError: Object function request(uri, options, callback) { if (typeof uri ===

根据需要,我需要调用
request.setMaxListeners(0)
来解决所描述的问题

当我尝试这样做时:

var request = require('request');
request.setMaxListeners(0);
我收到以下错误消息:

request.setMaxListeners(0);
        ^ TypeError: Object function request(uri, options, callback) {   if (typeof uri === 'undefined') throw new Error('undefined is not a valid uri or options object.')   if ((typeof options === 'function') && !callback) callback = options   if (options && typeof options === 'object') {
    options.uri = uri   } else if (typeof uri === 'string') {
    options = {uri:uri}   } else {
    options = uri   }

  options = copy(options)

  if (callback) options.callback = callback   var r = new Request(options)   return r } has no method 'setMaxListeners'
    at Object.<anonymous> (/home/vagrant/twitter/test.js:3:9)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:901:3
request.setMaxListeners(0);
^TypeError:Object函数请求(uri,options,callback){if(typeof uri=='undefined')抛出新错误('undefined不是有效的uri或options对象。'))if((typeof options=='function')&&&!callback)callback=options if(options&&typeof options=='Object')){
options.uri=uri}else if(uri的类型=='string'){
选项={uri:uri}}else{
选项=uri}
选项=复制(选项)
if(callback)options.callback=callback var r=new Request(options)return r}没有方法“setMaxListeners”
反对。(/home/vagrant/twitter/test.js:3:9)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
位于Function.Module.runMain(Module.js:497:10)
启动时(node.js:119:16)
在node.js:901:3
使用请求模块时,如何正确调整
setMaxListeners
的默认值

节点--版本:0.10.4
请求模块版本:2.16.6

编辑 经过一番讨论后,我认为在“setMaxListeners”之后,您正在尝试这样做

一步一步地 请求模块是必需的。此模块导出

此函数不继承自 -内部节点“类”-因此它没有

记住这一点,下面的行将失败

request.setMaxListeners(0);
你需要一个,那个,并且有想要的方法

要获得一个,只需调用request函数。对于此函数返回的值,可以调用“setMaxListeners”

如果我们把电话连在一起就更好了

request('http://www.google.com').setMaxListeners(0)
警告 I完全不建议删除最大侦听器限制。某种无限循环可能是一个问题,可能是每个“请求”事件都绑定了一个侦听器,从而抛出了一个“绑定的侦听器太多”错误此错误是检测内存泄漏的有效方法,因此我建议将“maxListeners”限制提高一点,而不是将其设置为“unlimited”

要执行此操作,请传递一个int!=0请注意,默认值为10

request(
  //
  // request stuff goes here
  //
).setMaxListeners(20)
答案
嗨,非常感谢你的回答。我正在使用
请求
模块(
npm安装请求
)。您使用的是模块吗?如果是这样的话,我将重新介绍一下它的自述。如果你把你想做的事情全部贴在网上,我可以帮你更多哦,哇。回答得好。谢谢。我要尽快试试这个。我想我在将代码缩减到再现问题所需的最小值方面做得太多了。
var request_object = request('http://www.google.com')
request_object.setMaxListeners(0)
request('http://www.google.com').setMaxListeners(0)
request(
  //
  // request stuff goes here
  //
).setMaxListeners(20)
var request = require('request');

request('http://www.google.com', function (error, response, body) {
  //
  // do something ...
  //
}).setMaxListeners(20)