中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

es6中的generator怎么用

發布時間:2022-05-10 14:08:38 來源:億速云 閱讀:164 作者:iii 欄目:web開發

本篇內容介紹了“es6中的generator怎么用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在es6中,generator用于封裝異步任務,是一個異步任務的容器,可以讓函數按照指定的時間執行或者暫停;定義該函數時在function關鍵字和函數名之間有一個星號(*),語法為“function *name(){..yield..}”。

本教程操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。

es6中generator的用法是什么

Generator主要是異步編程,用來封裝異步任務,是一個異步任務的容器,可以讓函數按照我們指定的時候執行或者暫停。

定義一個Generator函數和定義一個普通函數的區別在于:

function關鍵字和函數名之間有一個 *(星號)。

函數內部使用yield來定義每一個函數內部的狀態。

如果函數內部有return語句,那么他就是函數內部的最后一個狀態。

使用語法:

function *name(){
...
yield; //需要暫停的時候加yield
...
yield;
...
}
const p = name();
p.next() //調用函數,執行到第一個yield處停止
p.next() //從上一個yeild開始執行,到下一個yield處為止

來看一個簡單的例子:

// 定義
function* sayHello() {
  yield 'hello';
  yield 'world';
  return 'ending';
}
// 調用
// 注意,hw獲取到的值是一個遍歷器對象
let g = sayHello();

上面的例子,定義了一個名為sayHello的Generator函數,它內部有兩個yield表達式和一個return表達式。所以,該函數內部有三個狀態:hello,world 和 return語句(結束執行)。最后,調用這個函數,得到一個遍歷器對象并賦值給變量g。

Generator函數的調用方法與普通函數完全一樣,函數名()。不同的是:

  • 函數調用后,內部代碼(從第一行開始)都不會立即執行。

  • 函數調用后會有一個返回值,這個值是一個指向內部狀態的指針對象,實質就是一個包含函數內部狀態的遍歷器對象。

“es6中的generator怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和平县| 岢岚县| 尼玛县| 榆树市| 武陟县| 乌兰浩特市| 临夏市| 蓬安县| 慈溪市| 永宁县| 山东省| 长海县| 阳朔县| 故城县| 隆子县| 鄂温| 海林市| 天全县| 苗栗县| 巨野县| 蒲城县| 丰镇市| 凭祥市| 军事| 安溪县| 普宁市| 灵山县| 腾冲县| 达日县| 荥阳市| 宁安市| 上高县| 康平县| 称多县| 阳山县| 准格尔旗| 西丰县| 屯昌县| 普宁市| 大港区| 蕲春县|