Rumah > hujung hadapan web > tutorial js > Adakah Menggunakan async/waiit Inside a Promise Constructor merupakan Anti-Corak?

Adakah Menggunakan async/waiit Inside a Promise Constructor merupakan Anti-Corak?

Mary-Kate Olsen
Lepaskan: 2024-12-16 17:41:11
asal
382 orang telah melayarinya

Is Using async/await Inside a Promise Constructor an Anti-Pattern?

Menggunakan async/waiit Inside a Promise() Constructor: An Anti-Corak?

Dalam senario ini, anda menggunakan async fungsi .eachLimit untuk mengurus operasi serentak. Walau bagaimanapun, penggunaan async/menunggu anda di dalam fungsi pembina Promise menimbulkan kebimbangan.

Anti-Corak Promise Constructor

Menggunakan janji dalam fungsi pelaksana promise constructor, semasa anda sedang dilakukan, dianggap sebagai anti-corak. Risiko utama, seperti yang ditunjukkan dalam kod anda, adalah kemungkinan ralat terlepas tanpa disemak.

Selain itu, async/wait memperkenalkan kerumitan tambahan, yang berpotensi mengaburkan isu ini. Sebagai contoh, dalam kod anda:

let p = new Promise(resolve => {
  ""(); // TypeError
  resolve();
});

(async () => {
  await p;
})().catch(e => console.log("Caught: " + e)); // Catches it.
Salin selepas log masuk

Di sini, TypeError tidak disedari dalam pembina janji, tetapi ia ditangkap apabila menggunakan async/await. Kejutan sedemikian boleh menimbulkan masalah.

Oleh itu, sementara kod anda membenarkan anda mengakses nilai dalam panggilan balik bersarang, adalah penting untuk menangani ralat dengan berhati-hati dan mengelakkan anti-corak ini untuk memastikan kod yang mantap dan boleh diselenggara.

Atas ialah kandungan terperinci Adakah Menggunakan async/waiit Inside a Promise Constructor merupakan Anti-Corak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan