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

資訊專欄INFORMATION COLUMN

Generator函數與async函數對比

Winer / 1315人閱讀

摘要:函數與函數對比函數函數是提供的異步解決方案,與普通函數有很大的不同特征在關鍵字后面跟一個號在函數體內部使用表達式作為一個狀態函數返回一個遍歷器,可通過方法遍歷每個狀態用法執行并不立刻執行,返回一個遍歷器,遍歷器通過調用或者執行下一個狀態捕獲

Generator函數與async函數對比 Generator函數:

Generator函數是ES2015提供的異步解決方案,與普通函數有很大的不同;

特征:

在function關鍵字后面跟一個(*)號;

在函數體內部使用yield表達式作為一個狀態;

Generator函數返回一個遍歷器,可通過for……of方法遍歷每個狀態;

用法:

執行Generator并不立刻執行,返回一個遍歷器,遍歷器通過調用next()、throw()或者return()執行下一個狀態、捕獲錯誤或者結束遍歷器;

async函數:

async函數是ES2017提供的異步函數語法,是generator的語法糖,但是用法上與Generator函數還是有很大不同;

特征:

在function關鍵字前面跟一個async關鍵字;

在函數體內部使用await表達式;

async函數返回一個promise對象;

用法:

執行async函數會立刻執行,和普通函數一樣,但是返回一個promise對象;

兩者對比:

Generator 出現在ES2015中,async 出現在ES2017中,async 是 Generator 的語法糖;

執行方式不同,Generator 執行需要使用執行器(next()等方法);async 函數自帶執行器,與普通函數的執行一樣;

async 的語法語義更加清楚,async 表示異步,await 表示等待;而 Generator 函數的(*)號和 yield 的語義就沒那么直接了;

Generator 中 yield 后面只能跟 Thunk 函數或 Promise 對象;而 async 函數中 await 后面可以是 promise 對象或者原始類型的值(會自動轉為立即resovle的promise對象);

返回值不同,Generator 返回遍歷器,相比于 async 返回 promise 對象操作更加麻煩。

參考:

ECMAScript 6入門

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

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

相關文章

  • 淺談async·await

    摘要:在語言中,函數替換的不是表達式,而是多參數函數,將其替換成一個只接受回調函數作為參數的單參數函數。為什么里面必須使用函數呢,因為我們需要確保傳入的值只有一個,利用其回調函數,來進行遞歸自動控制函數的流程,接收和交還程序的執行權 前言 這篇文章主要是梳理一下自己對阮一峰大神寫的關于async/await文章,有寫得不對的地方以及理解得不對的地方,各位大佬請指錯! 對比 簡單對比傳統異步,...

    Magicer 評論0 收藏0
  • 理解 async/await

    摘要:而函數的命令后面則可以是或者原始類型的值,,,但這時等同于同步操作返回值是。拋出的錯誤而會被方法回調函數接收到。 ES7 提出的async 函數,終于讓 JavaScript 對于異步操作有了終極解決方案。No more callback hell。async 函數是 Generator 函數的語法糖。使用 關鍵字 async 來表示,在函數內部使用 await 來表示異步。想較于 G...

    kid143 評論0 收藏0
  • JavaScript:從Callback到Async的發展過程——實例演示

    摘要:回調函數回調函數是將一個函數作為參數,傳遞給另一個函數,然后在外部函數中調用該函數來完成某種例程或動作。案例源碼回調函數處理都是基于的發展利用方法自動迭代 閱讀時間:12 minutes文章類型:理論知識 & 案例演示案例需求:用JavaScript實現,3個小球先后運動,完成接力賽跑案例源碼:見文章最后 引言: 前端開發中,異步處理必不可少;過去,我們經常用回調函數來完成異步處理,...

    levius 評論0 收藏0
  • JavaScript的async 的學習

    摘要:函數內部語句返回的值,會成為方法回調函數的參數。也就是說,只有函數內部的異步操作執行完,才會執行方法指定的回調函數。命令后面的對象如果變為狀態,則的參數會被方法的回調函數接收到。 async 函數 ES2017 標準引入了 async 函數,使得異步操作變得更加方便,就是 Generator 函數的語法糖。對比一下: const fs = require(fs); const rea...

    Leo_chen 評論0 收藏0
  • Generator函數

    摘要:語法上,首先可以把它理解成,函數是一個狀態機,封裝了多個內部狀態。返回的遍歷器對象,可以依次遍歷函數內部的每一個狀態。 寫在前面: 這一篇是關于ES6中生成器函數相關總結和理解... Generator函數的定義 在阮一峰老師的書中的說法是: Generator 函數有多種理解角度。語法上,首先可以把它理解成,Generator 函數是一個狀態機,封裝了多個內部狀態。執行 Gener...

    yagami 評論0 收藏0

發表評論

0條評論

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