Async: الإصدار 3.0 وكل سلسلة غير متزامنة / تنتظر

تم إنشاؤها على ٢٥ مايو ٢٠١٩  ·  3تعليقات  ·  مصدر: caolan/async

مهلا،

الإصدار 3.0 لا يجلب الدعم غير المتزامن / ينتظر الدعم لكل سلسلة حتى الآن؟ هل هناك قائمة كاملة ، ما الوظائف غير المتزامنة التي تدعم Promise الآن؟

متوقع مع هذا التحديث:

async.eachSeries(items, async (item, callback) => {
            const itemStats = await someFunc(item);
           callback();
});

قيد الاستخدام حاليًا:

async.eachSeries(items, (item, callback) => {
         (async () => {
            const itemStats = await someFunc(item);
            callback();
          })();
});
question

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

الطريقة الاصطلاحية للتعامل مع هذا باستخدام async / await ستكون:

try {
    await async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');
    })
} catch (err)  {
   return res.status(500);
}
return res.status(200).json({success: true})

ال 3 كومينتر

لا يقوم Async بتمرير عمليات الاسترجاعات إلى وظائف async . ببساطة return !

async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);
});

آسف ، سؤالي لم يكن جيدًا.

بدون رد الاتصال () لا يمكنني معالجة الخطأ بعد:

async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');

}, (err) => {
       if(err) return res.status(500);

       return res.status(200).json({success: true})
});

هذا لن يعمل بدون رد أو؟

الطريقة الاصطلاحية للتعامل مع هذا باستخدام async / await ستكون:

try {
    await async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');
    })
} catch (err)  {
   return res.status(500);
}
return res.status(200).json({success: true})

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