J'essaie de faire une boucle asynchrone, où je fais quelque chose et après la fin, j'écris dans la console. C'est comme ça :
const http = require('http');
async function load(link)
{
try{
http.get(link, response => console.log(`File: ${link}`));
}catch(e){
console.log('error');
}
}
async function loop(arrayOfLinks)
{
for(let link of arrayOfLinks)
load(link);
}
module.exports = (arrayOfLinks) => {
(async () => {
await loop(arrayOfLinks);
console.log('Files: '+arrayOfLinks.length);
})();
}
Mais, ce que j'ai :
Fichiers : 3
Dossier : http://localhost:8000/1.jpg
Dossier : http://localhost:8000/2.jpg
Dossier : http://localhost:8000/3.jpg
Et ce que je veux :
Dossier : http://localhost:8000/1.jpg
Dossier : http://localhost:8000/2.jpg
Dossier : http:/
Fichiers : 3
Questions :
- Pourquoi
await
l'opérateur ne bloque pas l'étape suivante ? - Comment puis-je résoudre ce problème ?
Gracias