Async: Berikan argumen ke fungsi pertama di air terjun?

Dibuat pada 25 Feb 2011  ·  9Komentar  ·  Sumber: caolan/async

Tampaknya tidak mungkin untuk meneruskan argumen ke fungsi pertama di air terjun.

Mungkinkah ini dilakukan dengan cara lain karena saya benar-benar membutuhkan yang pertama untuk mendapatkan beberapa variabel.

Komentar yang paling membantu

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

});

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

Semua 9 komentar

Tentukan fungsi dummy yang memanggil fungsi Anda dengan variabel yang Anda butuhkan. Seperti ini:
async.waterfall([

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

Peretasan hebat =)

Alternatifnya adalah menggunakan async.apply(otentikasi, nama pengguna, kata sandi) untuk mengikat argumen di depan.

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

});

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

@adisos terima kasih! +1

Hmmm... Peretasan yang bagus, sungguh... Saya juga bingung karena tidak dapat meneruskan parameter ke fungsi air terjun pertama... Tapi, bukankah ini harus diposting ke pembuat modul (caolan) sebagai bug/inkonsistensi? Semua kerapian metode itu hilang, dengan peretasan ini ... :-/

Ini adalah tujuan penggunaan metode ini. async.apply ditambahkan terutama untuk kasus penggunaan ini AFAIK

Dokumentasi memang memberikan contoh penggunaan air terjun dengan fungsi, namun, jika ada yang ingin mengubah readme untuk menunjukkan menggunakan air terjun dengan penerapan itu akan menjadi luar biasa

:+1: @adisos apply bagus! saya hanya menggunakan perpustakaan ini sebentar dan saya terus terkesan.

jika ada yang masih memiliki masalah ini, fungsi konstan berfungsi dengan sangat baik.

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

Untuk info lebih lanjut, lihat http://caolan.github.io/async/docs.html#.constant

Apakah halaman ini membantu?
0 / 5 - 0 peringkat