J'ai plusieurs applications Express , et je vois que dans certains modules, elle res.end()
est appelée à la fin d'un gestionnaire de requêtes (après res.send
ou res.json
), alors que dans d'autres, elle n'est pas appelée.
Par exemple:
app.get('/test', function(req, res) {
res.send('Test', 200);
});
ou:
app.get('/test', function(req, res) {
res.send('Test', 200);
res.end();
});
Les deux cas fonctionnent, mais j'ai peur des fuites ou de l'épuisement des descripteurs de fichiers ou quelque chose du genre, lorsque j'exécute de nombreuses requêtes. Lequel est "le plus correct"?
res.send()
déclenchéres.end()
- pourrait être faux tho.Réponses:
La réponse à votre question est non. Vous n'êtes pas obligé d'appeler
res.end()
si vous appelezres.send()
.res.send()
vous appelleres.end()
.Tiré de /lib/response.js , voici la fin de la
res.send()
fonction:la source
un exemple où vous devez appeler la fonction end () est lorsque vous envoyez un tampon en tant que fichier à télécharger.
la source
Termine le processus de réponse. Cette méthode provient en fait du noyau Node , en particulier de l'
response.end() method of http.ServerResponse.
utilisation pour terminer rapidement la réponse sans aucune donnée.la source