<p>خريطة غير متزامنة ، ولكن مع فهرس مثل async.eachOf</p>

تم إنشاؤها على ٢٣ يناير ٢٠١٧  ·  8تعليقات  ·  مصدر: caolan/async

مرحبا جميعا

من خلال البحث في المستندات ، أبحث عن async.map ، لكن مع تمرير مؤشر التكرار إلى رد الاتصال.
مع async.each ، يكون التناظرية هو async.eachOf . لكنني لا أرى async.mapOf أو ما لا.

هل هناك شيء من هذا القبيل؟ اسمحوا لي أن أعرف إذا كنت بحاجة إلى مزيد من المعلومات ، شكرا!

التعليق الأكثر فائدة

نحن بخير 👍 على أي حال ، إليك ما حاولت استعادة البيانات:

var async = require('async');

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

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

ال 8 كومينتر

مرحبًا :) هل ما تحتاجه مشابه لهذه الإجابة - http://stackoverflow.com/a/31821896 . ربما يمكنك إنشاء طريقة اسم مستعار / نسخ تستدعي فقط async.forEachOf عندما تتصل بـ async.mapOf ، إذا وجدت هذا الاسم أكثر ملاءمة.

jpalala ما الأمر جو! اسمحوا لي أن أجرب ذلك ، كيف تسير الأمور؟

هل يقوم async.forEachOf بتمرير البيانات إلى رد الاتصال النهائي مثل async.map ؟

نحن بخير 👍 على أي حال ، إليك ما حاولت استعادة البيانات:

var async = require('async');

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

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

~ forEachOf والعائلة لا ينقلون النتائج إلى رد الاتصال. إذا كنت تريد المفتاح ، يمكنك فعل شيء مثل: ~

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

~ ضع في اعتبارك أن هذا سيعيد مصفوفة ولن يتم ضمان الطلب. سيكون عليك بناء كائن نتيجة يدويًا. ~

تحرير: استخدم mapValues

لماذا لا تقوم mapValues؟

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

@ ex1st هاه قد يعمل!

نعم ، تجاهل ما قلته ، mapValues هو بالضبط ما تريده.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات