首页 > 解决方案 > 当我添加钩子以请求发出时,NodeJS response.on('data') 不会触发

问题描述

我用 Node 发出 https 请求https.request()并监听响应'data'事件:

const req = https.request('https://stackoverflow.com/', res => {
    res.on('data', (chunk) => {
        console.log('data');
    })
});

req.end();

我工作正常。我'data'在控制台中得到输出。

但是,当我将钩子添加到 reqest 的发射(出于调试目的)时,如下所示:

const req = https.request('https://stackoverflow.com/', res => {
    res.on('data', (chunk) => {
        console.log('data');
    })
});
const original_emit = req.emit;
req.emit = function(event_name) {
    console.log('reqest event: ' + event_name);
    original_emit.apply(req, arguments);
};

req.end();

我不再得到'data'输出。找不到原因。

节点版本:8.11.3

标签: node.jseventemitternode-https

解决方案


推荐阅读