J'essaie d'exécuter une boucle asynchrone async.each
sur un tableau d'objets. Sur chaque objet de la matrice, j'essaie d'exécuter deux fonctions séquentiellement (en utilisant promises
). Le problème est que async.each
s'exécute uniquement pour le premier mot-clé.async.each ne pas itératif lors de l'utilisation des promesses
Dans le code suivant, getKeywords
charge des mots-clés à partir d'un fichier, puis renvoie un tableau d'objets mot-clé. Chaque objet mot-clé est mis en searchKeyword
qui effectue une recherche. Le résultat de la recherche est ensuite placé dans une base de données en utilisant InsertSearchResults
. Dans mon esprit, chaque mot-clé doit être traité en parallèle et les fonctions de recherche et d'insertion sont liées.
getKeywords(keys).then(function(keywords) {
async.each(keywords, function(keywordObject, callback) {
searchKeyword(keywordObject).then(function(searchResults) {
return insertSearchResults(searchResults, db, collections);
}).then(function(result) {
console.log("here");
callback();
})
})
})
pouvez-vous essayer d'appeler le callback optionnel qui capture 'err'? –