Saya memiliki beberapa aplikasi Express , dan saya melihat bahwa di beberapa modul, res.end()
dipanggil di akhir penangan permintaan (setelah res.send
atau res.json
), sementara di modul lain, tidak dipanggil.
Sebagai contoh:
app.get('/test', function(req, res) {
res.send('Test', 200);
});
atau:
app.get('/test', function(req, res) {
res.send('Test', 200);
res.end();
});
Kedua kasus berfungsi, tetapi saya takut kebocoran atau kehabisan deskriptor file atau semacamnya, ketika saya menjalankan banyak permintaan. Mana yang "lebih benar"?
res.send()
dipicures.end()
- bisa jadi salah.Jawaban:
Jawaban atas pertanyaan Anda tidak. Anda tidak perlu menelepon
res.end()
jika meneleponres.send()
.res.send()
panggilanres.end()
untukmu.Diambil dari /lib/response.js , inilah akhir dari
res.send()
fungsinya://. . . // respond this.end(head ? null : body); return this; }
sumber
salah satu contoh di mana Anda harus memanggil fungsi end () adalah ketika Anda mengirim buffer sebagai file untuk diunduh.
sumber
Mengakhiri proses tanggapan. Metode ini sebenarnya berasal dari inti Node , khususnya
response.end() method of http.ServerResponse.
Penggunaan untuk mengakhiri respons dengan cepat tanpa data apa pun.sumber