[英]How does the compiler know where to resume control after an await call
REST 調用基本上是無狀態調用。 然后,當我們對第三方 api 進行 await 調用時,編譯器或控件將有關在 await 調用完成后需要處理的位置的信息存儲在何處。
一旦 await 調用完成,編譯器或控件在哪里存儲有關它需要處理的位置的信息。
async
關鍵字有兩件事:它允許使用await
關鍵字,並指示編譯器將async
方法分解為狀態機。 血腥的細節在這里,但總而言之:
該方法在每次使用await
“拆分”,方法的每個“部分”都是狀態機的不同部分。 然后保存狀態機的當前狀態(連同局部變量的值)。 當等待的任務完成時,該任務的繼續執行狀態機的下一步。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.