国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Hack 的異步特性 async 和 await

Codeing_ls / 2706人閱讀

摘要:異步編程是一種編程的設計模式。異步編程最常用于讀寫。使用和兩個關鍵詞支持異步編程。異步函數可能會貪婪地執行異步函數體部分。在聲明以外的執行不會被掛起。異步編程框架會記錄所有應該完成的異步操作。

異步編程是一種編程的設計模式。它允許多個獨立的任務協同工作,在同一線程內傳遞控制權。從最小依賴和任務交互的角度來看,這些任務是相互獨立的。異步編程最常用于I/O讀寫。

Hack使用asyncawait兩個關鍵詞支持異步編程。async聲明異步函數。await會掛起一個異步函數的執行,直到await代表的異步操作的結果可以訪問。await可以使用的函數的返回值為實現了Awaitable的對象。

 {
  if ($a === 0) {
    return null;
  }

  $bar = await gen_bar($a);
  if ($bar !== null) {
    return $bar->getFoo();
  }

  return null;
}

async function gen_bar(int $a): Awaitable {
  if ($a === 0) {
    return null;
  }

  return new Bar();
}


gen_foo(4);

gen_foo()前有async關鍵字,因此它是一個異步函數。異步函數總是返回一個實現了Awaitable的對象(通常具體的實現是WaitHandle,不過幾乎在所有場合都推薦使用Awaitable接口。

調用gen_foo()會引入一些有趣的屬性,這些都是異步函數特有的。異步函數可能會貪婪地執行異步函數體部分。調用gen_bar()首先返回一個Awaitable對象,這個對象在執行之中可能完成,也可能不完成。如果它沒有完成,那么gen_foo()會掛起執行,否則gen_foo()會析構結果并繼續貪婪執行。在await聲明以外的執行不會被掛起。異步編程框架會記錄所有應該完成的異步操作。


原文 Hack Language Reference -- async and await
翻譯 SegmentFault

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20705.html

相關文章

  • ES6 系列之我們來聊聊 Async

    摘要:標準引入了函數,使得異步操作變得更加方便。在異步處理上,函數就是函數的語法糖。在實際項目中,錯誤處理邏輯可能會很復雜,這會導致冗余的代碼。的出現使得就可以捕獲同步和異步的錯誤。如果有錯誤或者不嚴謹的地方,請務必給予指正,十分感謝。 async ES2017 標準引入了 async 函數,使得異步操作變得更加方便。 在異步處理上,async 函數就是 Generator 函數的語法糖。 ...

    Songlcy 評論0 收藏0
  • ES67個實用技巧

    摘要:交換元素利用數組解構來實現值的互換調試我們經常使用來進行調試,試試也無妨。提供了完整的環境,并且支持自定義域名指向,動態計算資源調整,可以完成各種應用的開發編譯與部署。 7 Hacks for ES6 Developers Hack #1 交換元素 利用數組解構來實現值的互換 let a = world, b = hello [a, b] = [b, a] console.log(a...

    CastlePeaK 評論0 收藏0
  • ES6 Async/Await 完爆Promise6個原因

    摘要:以往的異步方法無外乎回調函數和。當然,對這個新特性也有一定的擔心,體現在他使得異步代碼變的不再明顯,我們好不容易已經學會并習慣了使用回調函數或者來處理異步。 自從Node的7.6版本,已經默認支持async/await特性了。如果你還沒有使用過他,或者對他的用法不太了解,這篇文章會告訴你為什么這個特性不容錯過。本文輔以大量實例,相信你能很輕松的看懂,并了解Javascript處理異步的...

    shevy 評論0 收藏0
  • ES6 Async/Await 完爆Promise6個原因

    摘要:以往的異步方法無外乎回調函數和。當然,對這個新特性也有一定的擔心,體現在他使得異步代碼變的不再明顯,我們好不容易已經學會并習慣了使用回調函數或者來處理異步。 自從Node的7.6版本,已經默認支持async/await特性了。如果你還沒有使用過他,或者對他的用法不太了解,這篇文章會告訴你為什么這個特性不容錯過。本文輔以大量實例,相信你能很輕松的看懂,并了解Javascript處理異步的...

    W4n9Hu1 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<