cari

Rumah  >  Soal Jawab  >  teks badan

Adakah menggunakan await dianggap sebagai amalan buruk dalam situasi ini?

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粉775723722P粉775723722266 hari yang lalu458

membalas semua(1)saya akan balas

  • P粉295728625

    P粉2957286252024-04-02 00:25:25

    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 < a href="https://stackoverflow.com/questions/45285129/any-difference- Between-await-promise-all-and-multiple-await">menunggu berbilang operasi menunggu serentak dan

    menunggu Apakah perbezaan antara Promise.all() dan berbilang menunggu? 🎜.🎜

    balas
    0
  • Batalbalas