response.on是什么意思?Node.js

3
我在使用Node.js的http请求时遇到了问题,我从一个示例代码进行了修改,但是不理解'response.on'的含义。当我阅读有关Node.js中http的更多信息时(HTTP事务的结构),我没有看到人们使用带有'response.on'的示例。我认为我知道这是什么意思,但我想澄清一下。哦,我也使用Express.js。
谢谢。
以下是我正在尝试调用BART API并需要得到响应的代码。
...
// Real Time Departure from a given station
router.route('/departTimeStation')
.get(function(req, res) {
    vCmd = 'etd';
    vOrig = req.query.vOriginStation;
    vDir = 'n'; // [NOTE] - 'n' or 's', north or south, OPTIONAL
    vPlat = 1; // [NOTE] - 1 to 4, number of platform, OPTIONAL

    var xoptions = {
        host: 'api.bart.gov',
        path: '/api/etd.aspx?cmd=' + vCmd + '&orig=' + vOrig + '&key=' + config.bart.client
    };

    var xcallback = function(response) {

        response.on('data', function(chunk) {
            vParsed += chunk;
        });

        response.on('end', function() {
            parseString(vParsed, function(err, result) {
                vShow = JSON.stringify(result);
                vTemp = result;
            });
        });
    };
    http.request(xoptions, xcallback).end();
    return res.send (vTemp)
});
...

这是这个链接 - Fozi
2个回答

5
response.on 可以接受在 response 生命周期中发生的一些“事件”,
你上面看到的两个是 response.on('data'...),表示当你获取数据时触发, response.on('end'...) 在响应结束时触发,就这么简单!
关于 response 的 Node 文档: https://nodejs.org/api/http.html#http_class_http_incomingmessage

1
谢谢你提供的链接。我之前没有看到这部分文档。 - Trewaters

-4

response.on是一个函数,或者更确切地说,它是一个属性方法。


1
不,方法和属性是不同的。 - Perry Tew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接