這段代碼來(lái)自《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充當(dāng)插槽并等待事件。在本例中,事件是“數(shù)據(jù)”和“結(jié)束”。cURL 用于向服務(wù)器發(fā)送請(qǐng)求。他們使用以下命令來(lái)發(fā)送請(qǐng)求:$ curl -d 'buy groceries' http://localhost:3000OK$ curl -d 'buy node in action' http://localhost:3000OK我的問(wèn)題是 - 這些事件從哪里發(fā)送/觸發(fā)?我沒(méi)有看到任何代碼發(fā)出“數(shù)據(jù)”和“結(jié)束”事件。
“data”和“end”事件如何從cURL發(fā)送到nodejs的HTTP服務(wù)器?
狐的傳說(shuō)
2023-07-14 16:48:56