Maison > Questions et réponses > le corps du texte
J'ai vu quelques linters signaler ce comportement, mais je me demande si cela ne fait pas partie de la raison pour laquelle vous utilisez des promesses :
const promise = myFn() //do other stuff const result = myOtherFn(await promise)
Erreur : la promesse doit être attendue ou capturée
Alors, est-ce un mauvais code ? Si oui, pourquoi?
P粉2957286252024-04-02 00:25:25
Oui, il s'agit d'une utilisation inhabituelle de await
et d'une mauvaise pratique qui peut provoquer le crash de votre application.
Habituellement, vous vous engagerez immédiatement await
à :
const value = await myFn() // do other stuff const result = myOtherFn(value);
Pas immédiatement Le problème avec await
ing 承诺的问题是,当 // do other stuff
正在运行时,当它因错误而拒绝时,您会错过。如果其他东西是异步的,你可能 await
太晚了,如果其他东西本身抛出异常,你永远不会 await
它,在这两种情况下,这都会导致 promise
ing promises est que vous manquez quand il rejette avec une erreur pendant que // do other stuff
est en cours d'exécution. Si l'autre chose est asynchrone, vous pourriez être trop tard, si l'autre chose lève elle-même l'exception, vous ne la jamais, dans les deux cas, cela entraînera que la promesse
ne sera pas gérée ou rejetée, ce qui plantera ton application. Voir aussi < a href="https://stackoverflow.com/questions/45285129/any-difference- Between-await-promise-all-and-multiple-await">await plusieurs opérations d'attente simultanées一个> et