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