<p>async.map, mais avec un index comme async.eachOf</p>

Créé le 23 janv. 2017  ·  8Commentaires  ·  Source: caolan/async

salut à tous

En parcourant la doc, je cherche async.map , mais avec l'index de l'itéré passé au rappel.
Avec async.each , l'analogue est async.eachOf . Mais je ne vois pas async.mapOf ou quoi pas.

Une telle chose existe t elle? Faites-moi savoir si vous avez besoin de plus d'informations, merci!

Commentaire le plus utile

Nous allons bien 👍 Quoi qu'il en soit, voici ce que j'ai essayé de récupérer les données :

var async = require('async');

async.forEachOf(['a', 'b', 'c'], function () {

  console.log(arguments[1]);
});

Tous les 8 commentaires

Hé :) Ce dont vous avez besoin est similaire à cette réponse - http://stackoverflow.com/a/31821896 . Vous pouvez peut-être créer une méthode d'alias/copie qui appelle simplement async.forEachOf chaque fois que vous appelez async.mapOf , si vous trouvez ce nom plus approprié.

@jpalala quoi de neuf Joe ! laissez-moi essayer, comment vont les choses?

est-ce que async.forEachOf transmet des données au rappel final comme async.map ?

Nous allons bien 👍 Quoi qu'il en soit, voici ce que j'ai essayé de récupérer les données :

var async = require('async');

async.forEachOf(['a', 'b', 'c'], function () {

  console.log(arguments[1]);
});

~ forEachOf et la famille ne transmettent pas les résultats au rappel. Si vous voulez la clé, vous pouvez faire quelque chose comme :~

async.forEach(_.entries(obj), ( [key, value], next ) => {
  // do whatever
}, done);

~ N'oubliez pas que cela renverra un tableau et que la commande ne sera pas garantie. Vous devrez créer un objet de résultat manuellement.~

EDIT : utilisez mapValues

pourquoi pas mapValues ​​?

async.mapValues( (val, key, next) => {
    // do whatever
}, (err, obj) => {
    let result = _.toArray(obj);
});

@ex1st hein ça pourrait marcher !

Ouais, ne tenez pas compte de ce que j'ai dit, mapValues est exactement ce que vous voulez.

Cette page vous a été utile?
0 / 5 - 0 notes