Async: Menggunakan AsyncFunction sebagai fungsi iteratee menghasilkan iteratee yang diteruskan sebagai tidak terdefinisi

Dibuat pada 26 Sep 2017  ·  4Komentar  ·  Sumber: caolan/async

Versi async apa yang Anda gunakan?
2.5.0

Di lingkungan mana masalah terjadi (Versi node/versi browser)
Versi OS: OS X 10.12.6
Versi Node: 8.4.0
Versi Peramban: T/A

Apa yang kamu lakukan?

// 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

Apa yang Anda harapkan terjadi?
next adalah fungsi iterate

Apa hasil sebenarnya?
next adalah undefined


Saya akhirnya hanya menggunakan sintaks .then().catch() untuk mencapai tujuan saya tetapi masih ingin membagikannya menggunakan AsyncFunction ( CATATAN: ini bukan definisi async tetapi AsyncFunction Object ) menghasilkan iteratee ( next ) bertipe undefined .

docs question

Komentar yang paling membantu

Fungsi async diperlakukan berbeda pada 2.3.0 -- mereka tidak melewati panggilan balik. Sebagai gantinya, cukup kembalikan nilai (atau Janji). Faktanya, dalam contoh Anda, bahkan try / catch tidak diperlukan karena kesalahan apa pun yang dilemparkan akan ditangkap oleh Async. Ini akan sedikit menyederhanakan kode Anda.

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

AsyncFunction dokumen: http://caolan.github.io/async/global.html

Semua 4 komentar

Fungsi async diperlakukan berbeda pada 2.3.0 -- mereka tidak melewati panggilan balik. Sebagai gantinya, cukup kembalikan nilai (atau Janji). Faktanya, dalam contoh Anda, bahkan try / catch tidak diperlukan karena kesalahan apa pun yang dilemparkan akan ditangkap oleh Async. Ini akan sedikit menyederhanakan kode Anda.

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

AsyncFunction dokumen: http://caolan.github.io/async/global.html

️ Membaca bagian dokumen itu dengan lebih jelas akan lebih cerdas. Terima kasih.

Sejujurnya, deskripsi itu tidak begitu jelas di situs dokumen...

Saya sebenarnya berpikir itu cukup jelas. Saya melirik dokumen pada awalnya dan melewatkan bagian itu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat