1
這些代碼有什麼區別?瞭解節點中的非阻塞IO
***首先*
var express = require('express');
var app = express();
app.post('/', function (req, res) {
console.log('Procesando abastecimiento...');
var rawData = '';
req.on('data', function (chunk) {
rawData += chunk;
});
req.on('end', function(){
console.log('Data recibida: ' + rawData);
res.end();
});
});
二
var express = require('express');
var app = express();
app.post('/', function (req, res) {
console.log('Procesando abastecimiento...');
var rawData = '';
req.on('data', function (chunk) {
rawData += chunk;
});
req.on('end', function(){
console.log('Data recibida: ' + rawData);
});
res.end();
});
如果我關閉 '結束' 事件的回調內部的連接(res.end()
),將在客戶端等待,直到所有數據被讀取?我不明白區別,我只是知道我的代碼使用第二種方式更快。你能解釋我爲什麼嗎?
如果您在外部調用res.end,則立即在請求發出後立即調用它。你應該使用第一個代碼而不是第二個代碼。 –