这段代码来自《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 内部代码生成。
添加回答
举报
0/150
提交
取消