Sto utilizzando aync.parallel per eseguire due funzioni in parallelo. Le funzioni richiedono i feed RSS. Quindi i feed RSS vengono analizzati e aggiunti alla mia pagina web.Node.JS async.parallel non attende fino al completamento di tutte le attività
Ma per qualche motivo async.parallel
corre il metodo di callback senza attendere le due funzioni hanno completato
Una volta che i compiti sono completati, i risultati vengono passati al finale callback come un array .
Il mio codice.
require('async').parallel([ function(callback) {
fetchRss(res, bbcOpts); // Needs time to request and parse
callback();
}, function(callback) {
// Very fast.
callback();
} ], function done(err, results) {
if (err) {
throw err;
}
res.end("Done!");
});
In realtà ho solo "Fatto!" sulla mia pagina web. Perché?
Perché devo chiamare res.end()
?
Il Node.JS documentation dice:
Il metodo, Response.End(), deve essere chiamata a ogni risposta.
Se non lo chiamo, la mia pagina Web verrà "scaricata" (intendo una barra di avanzamento nella riga dell'indirizzo del mio browser).