Heim  >  Fragen und Antworten  >  Hauptteil

Wird die Verwendung von „await“ in dieser Situation als schlechte Praxis angesehen?

Ich habe einige Linters gesehen, die dieses Verhalten gemeldet haben, aber ich frage mich, ob das nicht einer der Gründe ist, warum Sie Versprechen verwenden:

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

Fehler: Versprechen sollte abgewartet oder erfasst werden

Ist das also ein schlechter Code? Wenn ja warum?

P粉775723722P粉775723722184 Tage vor338

Antworte allen(1)Ich werde antworten

  • P粉295728625

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

    是的,这是 await 的不寻常用法,也是可能导致应用程序崩溃的不良做法。

    通常你会立即 await 的承诺:

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

    不立即 awaiting 承诺的问题是,当 // do other stuff 正在运行时,当它因错误而拒绝时,您会错过。如果其他东西是异步的,你可能 await 太晚了,如果其他东西本身抛出异常,你永远不会 await 它,在这两种情况下,这都会导致 promise 未经处理的拒绝,这将使你的应用程序崩溃。另请参阅等待多个并发等待操作和< a href="https://stackoverflow.com/questions/45285129/any-difference- Between-await-promise-all-and-multiple-await">await Promise.all() 和多个等待之间有什么区别?.

    Antwort
    0
  • StornierenAntwort