Adakah menggunakan await dianggap sebagai amalan buruk dalam situasi ini?
P粉775723722
P粉775723722 2024-04-01 08:33:30
0
1
450

Saya telah melihat beberapa baris menunjukkan tingkah laku ini, tetapi saya tertanya-tanya jika itu bukan sebahagian daripada sebab anda menggunakan janji:

const promise = myFn()
//do other stuff
const result = myOtherFn(await promise)

Ralat: Janji harus ditunggu atau ditangkap

Jadi adakah ini kod buruk? Jika ya, mengapa?

P粉775723722
P粉775723722

membalas semua(1)
P粉295728625

Ya, ini adalah penggunaan luar biasa await dan amalan buruk yang boleh menyebabkan apl anda ranap.

Biasanya anda akan serta-merta await komited untuk:

const value = await myFn()
// do other stuff
const result = myOtherFn(value);

Tidak serta-merta Masalah dengan awaiting 承诺的问题是,当 // do other stuff 正在运行时,当它因错误而拒绝时,您会错过。如果其他东西是异步的,你可能 await 太晚了,如果其他东西本身抛出异常,你永远不会 await 它,在这两种情况下,这都会导致 promise janji ialah anda terlepas apabila ia menolak dengan ralat semasa // melakukan perkara lain sedang dijalankan. Jika perkara lain tidak segerak, anda mungkin terlambat, jika perkara lain membuang pengecualian itu sendiri, anda tidak pernah itu, dalam kedua-dua kes ini akan mengakibatkan janji tidak dapat dikendalikan penolakan, yang akan ranap permohonan anda. Lihat juga menunggu berbilang operasi menunggu serentak一个> dan

menunggu Apakah perbezaan antara Promise.all() dan berbilang menunggu? 🎜.🎜
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan