使用 on nodejs 从另一个模块捕获事件



我正在使用一个名为request(https://www.npmjs.com/package/request)的模块在我的应用程序上执行一系列http请求。现在我正在尝试向其添加日志记录功能,但似乎无法弄清楚如何从请求模块捕获事件。我可以像这样进行事件捕获:

var request = require('request');
request('http://www.stackoverflow.com').on('request', function (data) {
  console.log(data.method + ":" + data._headers.host);
}).on('response', function (data) {
  console.log("Status: " + data.statusCode);
});

这将产生以下输出:

$ node test.js
GET:www.stackoverflow.com
GET:stackoverflow.com
状态: 200

如何在request() 调用后捕获事件而不指定它?理想情况下,我只需要request模块和其他一些文件,其中包含请求事件的所有侦听器并开始使用request,而无需担心事件处理。因此,最终结果将在代码文件中如下所示:

var request = require('request');
var requestLogger = require('reqLogger')(request);

根据request自述文件,至少有几种不同的方法可以从request获取调试信息。特别是第三种解决方案(使用request-debug)似乎可以准确地满足您的当前尝试。

相关内容

  • 没有找到相关文章

最新更新