在Angular 6 中,您可能遇到過不鼓勵使用以下模式的想法:
await someFunction().then(result => { console.log(result); });
最初,這可能看起來令人費解,因為它本質上執行相同的任務如:
const result = await someFunction(); console.log(result);
後者通常被認為更簡潔和更受歡迎,但問題出現了:為什麼等待承諾鏈可能會出現問題?
雖然上述程式碼片段看起來相同,但存在一些細微的差異,可能會帶來風險:
1.混合風格:
結合同步(await)和非同步(then)方法可能會導致混亂和混亂。這可能會導致程式碼不一致並可能出現錯誤。
2.複雜的控制流:
隨著程式碼變得更加複雜,在 then 回呼中加入另一個 Promise 呼叫可能會引入一系列新場景。目前尚不清楚是否可以在回調中使用await,如何處理條件返回,或者是否可以從外部函數返回。這些不確定性可能會導致意外的行為和程式碼缺陷。
為了增強可讀性、可維護性並防止錯誤,建議避免將 Promise 鏈與 wait 混合。採用一致的方法,在整個非同步函數中使用 wait。
透過遵守此準則,您可以確保清晰度、最大程度地減少混亂並提高程式碼庫的整體品質。
以上是為什麼 Angular 不鼓勵在 Promise 鏈內等待?的詳細內容。更多資訊請關注PHP中文網其他相關文章!