L'utilisation de wait est-elle considérée comme une mauvaise pratique dans cette situation ?
P粉775723722
P粉775723722 2024-04-01 08:33:30
0
1
443

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粉775723722
P粉775723722

répondre à tous(1)
P粉295728625

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 awaiting 承诺的问题是,当 // do other stuff 正在运行时,当它因错误而拒绝时,您会错过。如果其他东西是异步的,你可能 await 太晚了,如果其他东西本身抛出异常,你永远不会 await 它,在这两种情况下,这都会导致 promiseing 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 await plusieurs opérations d'attente simultanées一个> et

await Quelle est la différence entre Promise.all() et plusieurs attentes ? 🎜.🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal