53 votes

Node.js - Utilisation de la lib. Async - async.foreach avec object

Je suis en utilisant le noeud asynchrone lib - https://github.com/caolan/async#forEach et voudrais faire une itération sur un objet et l'impression de ses clés de l'index. Une fois terminée, je voudrais exécuter une fonction de rappel.

Voici ce que j'ai jusqu'à présent mais le "itération fait" n'est jamais vu:

    async.forEach(Object.keys(dataObj), function (err, callback){ 
        console.log('*****');

    }, function() {
        console.log('iterating done');
    });  

1) Pourquoi la dernière fonction n'est pas appelée?

2) Comment puis-je imprimer l'objet de la clé d'index?

Apprécions tous les commentaires.

En Ce Qui Concerne, Ben.

122voto

stewe Points 14623

La fonction finale n'est pas appelée car vous n'appelez pas les callback à l'intérieur de la fonction itérateur pour indiquer de manière asynchique que cet itérateur est terminé.

Utilisez quelque chose comme ceci:

 async.forEach(Object.keys(dataObj), function (item, callback){ 
    console.log(item); // print the key
    callback(); // tell async that the iterator has completed

}, function(err) {
    console.log('iterating done');
});  
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X