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
504 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!

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