es6:generator生成器
1、 執行第一條,name值為undefind,第二條,傳入字串"hehe "會被賦值給上一個生成器執行結果的返回值name
function* gen(){
let name = yield "this is first one";
console.dir(name);
yield name+"this is second one";
yield "this is third one";
yield "this is fourth one";
return "done";
}
const testgen = gen();
console.log(testgen.next());
console.log(testgen.next("hehe "));
// console.log(testgen.next());
// console.log(testgen.next());
// console.log(testgen.next());
2、必須等上一條yield語句執行完畢才會執行下一條yield語句
這樣特性等好處是“可以用同步等方式寫非同步程式碼”,例如取伺服器資料,不需要再使用回撥函式,避免了回撥函式多層巢狀的問題。(javascrip回撥地獄)
相關文章
- 【ES6基礎】生成器(Generator)
- 探索es6系列之—-Generator生成器函式函式
- es6 快速入門 系列 —— 迭代器 (Iterator) 和 生成器 (Generator)
- 切圖崽的自我修養-[ES6] 生成器Generator淺析
- 生成器函式generator函式
- ES6 Generator async
- ES6 Generator函式函式
- ES6中的Generator
- ES6 - symbol&generatorSymbol
- ES6 Generator 函式介紹函式
- 【深入淺出ES6】Iterator/Generator
- Es6 generator淺入淺出
- [譯] Javascript(ES6)Generator 入門JavaScript
- mybatis-generator-程式碼自動生成器MyBatis
- js es6深入應用系列(Generator)JS
- ES6中的Promise和Generator詳解Promise
- ES6學習筆記(六)【promise,Generator】筆記Promise
- 迭代器,生成器(generator)和Promise的“微妙”關係Promise
- ES6的Generator函式(2018-06-21)函式
- ES6 系列之 Generator 的自動執行
- ES6生成器總結
- ES6中的迭代器、Generator函式以及Generator函式的非同步操作函式非同步
- 一種新的流:為 Java 加入生成器(Generator)特性Java
- ES6 - Promise, Generator, async(非同步操作)使用比較Promise非同步
- 你是怎麼理解ES6中 Generator的?使用場景?
- 淺談ES6中迭代器和生成器
- MyBatis Generator 程式碼自動生成器,從此解放你的雙手MyBatis
- ES6 系列之 Babel 將 Generator 編譯成了什麼樣子Babel編譯
- ES6系列之Babel將Generator編譯成了什麼樣子Babel編譯
- 一文徹底搞懂Python可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)的概念Python
- mybatis generatorMyBatis
- MyBatis generator配置MyBatis
- Mybatis-GeneratorMyBatis
- Async & generator & PromisePromise
- ES6生成器,看似同步的非同步流程控制表達風格非同步
- [Vue] Routes auto generatorVue
- [Javascript] Generator & Iterators exerciseJavaScript
- different random numbers generatorrandom