为了账号安全,请及时绑定邮箱和手机立即绑定

“data”和“end”事件如何从cURL发送到nodejs的HTTP服务器?

“data”和“end”事件如何从cURL发送到nodejs的HTTP服务器?

狐的传说 2023-07-14 16:48:56
这段代码来自《Nodejs in Action》一书:var http = require('http');var url = require('url');var items = [];var server = http.createServer(function(req, res)            {                switch (req.method)                 {                case 'POST':                    var item = '';                    req.setEncoding('utf8');                    req.on('data', function(chunk)                        {                            item += chunk;                        });                    req.on('end', function()                        {                            items.push(item);                            res.end('OK\n');                        });                    break;                                    case 'GET':                    items.forEach(function(item, i){                              res.write(i + ') ' + item + '\n');                            });                            res.end();                    break;                }            });.on充当插槽并等待事件。在本例中,事件是“数据”和“结束”。cURL 用于向服务器发送请求。他们使用以下命令来发送请求:$ curl -d 'buy groceries' http://localhost:3000OK$ curl -d 'buy node in action' http://localhost:3000OK我的问题是 - 这些事件从哪里发送/触发?我没有看到任何代码发出“数据”和“结束”事件。
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

cURL 不发送事件。cURL 发出 HTTP 请求。

当来自 HTTP 请求的数据到达以及 HTTP 请求完成时,这些事件由 Node.js 内部代码生成。

查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信