Menunggu Rantaian Janji: Kemungkinan Perangkap
Telah dinasihatkan supaya tidak menunggu rantai janji dalam konteks tertentu, terutamanya dalam aplikasi Angular 6. Pendekatan yang kelihatan berlebihan ini menimbulkan persoalan tentang kemungkinan akibatnya.
Isu dengan Janji Rantai
Coretan kod berikut menunjukkan anti-pola yang dimaksudkan:
await someFunction().then(result => { console.log(result); });
Kod ini tidak semestinya membungkus janji yang dikembalikan oleh someFunction() dalam Janji.kemudian berantai sebelum menunggunya.
Penyelesaian Alternatif
Pendekatan yang lebih ringkas dan mudah ialah dengan hanya menunggu janji secara langsung:
const result = await someFunction(); console.log(result);
Kenapa Mengelak Janji Merantai?
Sementara kedua-dua coretan mencapai hasil yang sama, yang pertama mengundang kekeliruan dan potensi pepijat:
Konsistensi ialah Kunci
Demi mengekalkan konsistensi dan mengelakkan kemungkinan perangkap, adalah dinasihatkan untuk memilih pendekatan yang lebih mudah iaitu menunggu janji secara langsung. Ini sejajar dengan peraturan am iaitu memilih menunggu lebih daripada itu dalam fungsi tak segerak.
Pengecualian kepada Peraturan
Walaupun menunggu lebih disukai, mungkin terdapat pengecualian. Dalam kes pengendalian ralat tertentu, rantaian janji mungkin memberikan pendekatan yang lebih bersih dan ringkas.
Atas ialah kandungan terperinci Patutkah Anda Menunggu Rantai Janji?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!