Async: تمرير الحجج إلى الوظيفة الأولى في الشلال؟

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

لا يبدو أنه من الممكن تمرير الحجج إلى الوظيفة الأولى في الشلال.

هل يمكن القيام بذلك بطرق أخرى لأنني حقًا بحاجة إلى أول واحد للحصول على بعض المتغيرات.

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

async.waterfall([
    async.apply(func1, "1")
], function (err, result) {

});

function func1(par1, callback) {
    console.log(par1); // Outputs: 1
}

ال 9 كومينتر

حدد وظيفة وهمية تستدعي وظيفتك بالمتغيرات التي تحتاجها. مثله:
شلال غير متزامن ([

function(cb)
{
  cb(null, username, password);
},
Authenticate,...

الاختراق العظيم =)

البديل هو استخدام async.apply (المصادقة ، اسم المستخدم ، كلمة المرور) لربط الوسيطات مسبقًا.

async.waterfall([
    async.apply(func1, "1")
], function (err, result) {

});

function func1(par1, callback) {
    console.log(par1); // Outputs: 1
}

adisos شكرا! +1

هممم ... اختراقات رائعة ، حقًا ... لقد شعرت بالحيرة أيضًا لعدم قدرتي على تمرير المعلمات إلى وظيفة الشلال الأولى ... ولكن ، ألا ينبغي أن يكون هذا المنشور لمؤلف الوحدة (caolan) باعتباره خطأ / عدم تناسق؟ كل دقة تلك الطريقة تتلاشى مع هذه الاختراقات ...: - /

هذا هو الغرض من استخدام هذه الأساليب. تمت إضافة async.apply بشكل أساسي لحالة الاستخدام AFAIK هذه

تقدم الوثائق أمثلة على استخدام الشلال مع وظيفة ، ومع ذلك ، إذا أراد أي شخص تعديل الملف التمهيدي لإظهار استخدام الشلال مع تطبيق ، فسيكون ذلك رائعًا

: +1: تطبيق adisos رائع! لقد كنت أستخدم هذه المكتبة لفترة قصيرة وأنا معجب باستمرار.

إذا كان أي شخص لا يزال لديه هذه المشكلة ، فإن الوظيفة الثابتة تعمل بشكل جيد للغاية.

async.waterfall([
    async.constant(42),
    function (value, next) {
        // value === 42
    },
], callback);

لمزيد من المعلومات ، تحقق من http://caolan.github.io/async/docs.html#.constant

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