您好,登錄后才能下訂單哦!
這篇文章主要介紹“es6中的yield怎么用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“es6中的yield怎么用”文章能幫助大家解決問題。
在es6中,yield用于暫停和恢復一個遍歷器函數的運行;yield是一個命令型的關鍵字,返回的結果是一個狀態值,可以告訴程序當前的運行狀態,作用就是暫停個恢復運行,語法為“[rv] = yield [expression];”
本教程操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。
yield這個關鍵字是用來暫停和恢復一個遍歷器函數(的運行)的。
yield是個關鍵字 ,它的作用是“命令”。和var不同,不是用來聲明,但是和return一樣,用來告知程序某種狀態,return告訴程序要返回什么值(也意味著結束,結束的時候才會返回值嘛),而yield告訴程序當前的狀態值,而且你運行到這里暫停一下。
yield是命令型的關鍵字,所以它的用法是:
[rv] = yield [expression];
rv是可選的,這里不是說它返回一個數組。yield后面的表達式也是可選的。yield的返回值是一個狀態值。如果從返回值的角度講,yield還可以當做是一種運算符,但是由于它的作用是暫停和恢復,所以嚴格意義上說,不能叫運算符,運算符是用來運算的,而yield是用來“命令”的。
把yield看作一個變量,字符串里面,可以這樣使用:
var log = function *() { console.log(`you input: ${yeild}`) }().next(); // 這里會提示錯誤: yeild undefined log.next('hello world!');
總結一下yield,實際上:
只能在Generator函數內部使用
運行.next(),遇到一個yield命令,就暫停
.next()的返回值表示一個狀態{value,done}
再運行.next(),從之前遇到的那個yield [表達式]處(后)繼續恢復運行
當.next()傳參的時候,yield [表達式]整個被替換為傳入的參數。
關于“es6中的yield怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。