Wird die Verwendung von „await' in dieser Situation als schlechte Praxis angesehen?
P粉775723722
P粉775723722 2024-04-01 08:33:30
0
1
452

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

Antworte allen(1)
P粉295728625

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

通常你会立即 await 的承诺:

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage