Async: يؤدي استخدام دالة Async مثل وظيفة التكرار إلى تمرير التكرار على أنه غير محدد

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

ما هو إصدار غير متزامن الذي تستخدمه؟
2.5.0

ما البيئة التي حدثت فيها المشكلة في (إصدار العقدة / إصدار المتصفح)
إصدار نظام التشغيل: OS X 10.12.6
إصدار العقدة: 8.4.0
إصدار المتصفح: N / A

ما الذي فعلته؟

// templateNames is an array of strings
async.map(templateNames, async (templateName, next) => {   
  let template;
  try {
    template = await utils.getFile(templateName);
  } catch(err) {
    next(err);
  }
...
// and so on

ماذا تتوقع أن يحدث؟
next هي دالة تكرارية

ماذا كانت النتيجة الفعلية؟
next هو undefined


انتهى بي الأمر فقط باستخدام بناء الجملة .then().catch() لتحقيق هدفي ولكن ما زلت أرغب في مشاركة ذلك باستخدام AsyncFunction ( ملاحظة: هذا ليس تعريف async ولكن الأصلي AsyncFunction ينتج عن next ) من النوع undefined .

docs question

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

يتم التعامل مع وظائف async بشكل مختلف اعتبارًا من 2.3.0 - ولا يتم تمرير رد اتصال. بدلاً من ذلك ، فقط قم بإرجاع قيمة (أو وعد). في الواقع ، في مثالك ، حتى try / catch ليس ضروريًا لأن أي أخطاء يتم إلقاؤها سيتم اكتشافها بواسطة Async. يجب أن يبسط هذا الكود الخاص بك قليلاً.

// templateNames is an array of strings
async.map(templateNames, async templateName => {   
  const template = await utils.getFile(templateName);
...
// and so on

مستندات AsyncFunction : http://caolan.github.io/async/global.html

ال 4 كومينتر

يتم التعامل مع وظائف async بشكل مختلف اعتبارًا من 2.3.0 - ولا يتم تمرير رد اتصال. بدلاً من ذلك ، فقط قم بإرجاع قيمة (أو وعد). في الواقع ، في مثالك ، حتى try / catch ليس ضروريًا لأن أي أخطاء يتم إلقاؤها سيتم اكتشافها بواسطة Async. يجب أن يبسط هذا الكود الخاص بك قليلاً.

// templateNames is an array of strings
async.map(templateNames, async templateName => {   
  const template = await utils.getFile(templateName);
...
// and so on

مستندات AsyncFunction : http://caolan.github.io/async/global.html

قراءة هذا الجزء من المستندات بشكل أكثر وضوحًا سيكون أمرًا ذكيًا. شكرا.

في الإنصاف ، هذا الوصف ليس واضحًا على موقع المستندات ... 🙄 📜

أعتقد في الواقع أنه واضح جدًا. ألقيت نظرة خاطفة على المستندات في البداية وفقدت هذا الجزء.

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