<p>async.map, aber mit einem Index wie async.eachOf</p>

Erstellt am 23. Jan. 2017  ·  8Kommentare  ·  Quelle: caolan/async

Hallo zusammen

Beim Durchsehen der Dokumente suche ich nach async.map , aber mit dem Index des Iterierten, der an den Rückruf übergeben wird.
Bei async.each ist das Analogon async.eachOf . Aber ich sehe nicht async.mapOf oder was nicht.

Gibt es so etwas? Lassen Sie es mich wissen, wenn Sie weitere Informationen benötigen, danke!

Hilfreichster Kommentar

Uns geht es gut 👍 Jedenfalls habe ich Folgendes versucht, um die Daten zurückzubekommen:

var async = require('async');

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

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

Alle 8 Kommentare

Hey :) Ist das, was Sie brauchen, ähnlich wie diese Antwort - http://stackoverflow.com/a/31821896 . Vielleicht können Sie eine Alias-/Kopiermethode erstellen, die nur async.forEachOf aufruft, wenn Sie async.mapOf aufrufen, wenn Sie diesen Namen passender finden.

@jpalala was ist

übergibt async.forEachOf Daten an den letzten Callback wie async.map ?

Uns geht es gut 👍 Jedenfalls habe ich Folgendes versucht, um die Daten zurückzubekommen:

var async = require('async');

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

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

~ forEachOf und Familie übergeben die Ergebnisse nicht an den Rückruf. Wenn Sie den Schlüssel haben möchten, können Sie Folgendes tun:~

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

~ Denken Sie daran, dass dies ein Array zurückgibt und die Reihenfolge nicht garantiert wird. Sie müssten ein Ergebnisobjekt manuell erstellen.~

BEARBEITEN: Verwenden Sie mapValues

warum nicht mapValues?

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

@ex1st huh das könnte funktionieren!

Ja, ignorieren Sie, was ich gesagt habe, mapValues ist genau das, was Sie wollen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen