Async/await
外觀
這是此頁批准,以及是最近的修訂。
佇咧程式設計內底,async / await 模式是 C # 五曉空、Python 三孵五中、Hack、Dart 以及 Kotlin 一孵一的一个特性。
佇咧 C # 中的應用
佇咧 C # 中,await 運算子佇非同步的方法任務中使用,用佇咧方法的執行過程當中插入去掛起點,一直到所等待的任務完成。await 干焦會當用佇因為 async 關鍵字修削的非同步方法內底。
以下是用於對一个 URL 頂下載資料。
佇咧 JavaScript 中的使用
JavaScript 中的 await 只會當佇非同步(async function)中使用,用於等待一个 Promise 東西。當 await 接收著一个 Promise 東西的時候,await 將等待 Promise 任務正常完成閣倒轉來其結果。若是 await 接收著的毋是 Promise,await 會共該當轉踅換做已經正常處理的 Promise,然後等待其工課完成。
佇咧 C + + 中的使用
C + + 二十草案官方已經確認支援 await 功能(號名號做 co \ _ await)。 目前,MSVC 和 clang 已經支援 co \ _ await,gcc 十嘛加添矣嘿 co \ _ await 的實驗性支援。
佇咧 C 語言內底的使用
C 語言無對 await / async 官方支援。
某寡協程庫(比如講 s \ _ task)通過宏定義的方式, 實現佮其他的語言類似的 await / async 的強制性語意要求,即:
` ` ` 一 . 定著在 async 函注的函肪,才會使𫞼出來 await; 二 . 等待一个清楚抹著 aysnc 的函珍,鋪排師師傅需要加上 await; ` ` `