<p>async.map, tetapi dengan indeks seperti async.eachOf</p>

Dibuat pada 23 Jan 2017  ·  8Komentar  ·  Sumber: caolan/async

Hai semua

Melihat melalui dokumen, saya mencari async.map , tetapi dengan indeks iteratee yang diteruskan ke panggilan balik.
Dengan async.each , analognya adalah async.eachOf . Tapi saya tidak melihat async.mapOf atau apa yang tidak.

Apakah ada hal seperti itu? Beri tahu saya jika Anda membutuhkan info lebih lanjut, terima kasih!

Komentar yang paling membantu

Kami baik-baik saja 👍 Pokoknya inilah yang saya coba dapatkan kembali datanya:

var async = require('async');

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

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

Semua 8 komentar

Hei :) Apakah yang Anda butuhkan mirip dengan jawaban ini - http://stackoverflow.com/a/31821896 . Mungkin Anda dapat membuat alias/metode salin yang hanya memanggil async.forEachOf setiap kali Anda memanggil async.mapOf , jika Anda merasa nama itu lebih cocok.

@jpalala apa

apakah async.forEachOf meneruskan data ke panggilan balik terakhir seperti async.map ?

Kami baik-baik saja 👍 Pokoknya inilah yang saya coba dapatkan kembali datanya:

var async = require('async');

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

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

~ forEachOf dan keluarga tidak meneruskan hasilnya ke panggilan balik. Jika Anda menginginkan kuncinya, Anda dapat melakukan sesuatu seperti:~

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

~Perlu diingat, ini akan mengembalikan array, dan pesanan tidak akan dijamin. Anda harus membuat objek hasil secara manual.~

EDIT: gunakan mapValues

mengapa tidak mapValues?

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

@ ex1st ya itu mungkin berhasil!

Ya, abaikan apa yang saya katakan, mapValues persis seperti yang Anda inginkan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat