【问题标题】:Capturing events from another module with on nodejs使用 nodejs 从另一个模块捕获事件
【发布时间】:2015-02-12 19:02:53
【问题描述】:

我正在使用一个名为 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);
});

这将产生以下输出:

$ 节点 test.js
获取:www.stackoverflow.com
获取:stackoverflow.com
状态:200

如何在request() call 之后不指定事件来捕获事件?理想情况下,我只想需要 request 模块和其他一些包含请求事件的所有侦听器的文件,然后开始使用 request 而不必担心事件处理。所以最终结果会在代码文件中看起来像:

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

【问题讨论】:

    标签: javascript node.js event-handling dom-events eventemitter


    【解决方案1】:

    根据request readme,至少有几种不同的方法可以从request 获取调试信息。特别是第三个解决方案(使用request-debug)似乎可以让您完全了解您目前正在尝试做的事情。

    【讨论】:

    • 啊,我似乎完全错过了这一点。感谢您指出这一点!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 2020-06-05
    • 2012-10-13
    • 1970-01-01
    • 2013-01-21
    相关资源
    最近更新 更多