ES6 生成器函数

一、生成器函数其实就是一个特殊的函数,实习异步编程

javascript 复制代码
function * gen() {
    console.log(111);
    yield '一只没有耳朵';
    console.log(222);
    yield '一只没有尾巴';
    console.log(3333);
    yield '真奇怪';
}

let iterator = gen();
iterator.next();  //执行的是函数开始 ------ yield '一只没有耳朵'中间的部分
iterator.next();  //执行的是yield '一只没有耳朵' ------  yield '一只没有尾巴'中间的部分

// 遍历
for (let v of gen()) {
    console.log(v);   // v是yield后面的部分
}

二、生成器函数的传参

javascript 复制代码
function * gen(arg) {
    console.log(arg);   // AAA
    let one = yield 111;
    console.log(one);   // BBB
    let two = yield 222;
    console.log(two);   // CCC
}

let iterator = gen('AAA');
iterator.next('BBB');
iterator.next('CCC');
相关推荐
利刃大大4 天前
【ES6】变量与常量 && 模板字符串 && 对象 && 解构赋值 && 箭头函数 && 数组 && 扩展运算符 && Promise/Await/Async
开发语言·前端·javascript·es6
天若有情6734 天前
ES6 模块与 CommonJS 的区别详解
前端·javascript·es6
wangbing11255 天前
ES6 (ES2015)新增的集合对象Set
前端·javascript·es6
yyt3630458416 天前
TypeScript { [key: string]: unknown } 索引签名写法和 Record 替代
前端·javascript·vue.js·typescript·ecmascript·es6
梦6506 天前
JavaScript ES5 + ES6+ 字符串 (String) 所有方法大全
前端·javascript·es6
梦6506 天前
JavaScript (ES5)+ES6+jQuery 核心对象方法大全
javascript·es6·jquery
Aotman_9 天前
Vue el-table 字段自定义排序
前端·javascript·vue.js·es6
程序员小寒9 天前
聊一聊 CommonJS 和 ES6 Module
前端·ecmascript·es6
Tiam-20169 天前
cesium使用cesium-plot-js标绘多种图形
javascript·vue.js·arcgis·es6·gis·cesium·cesium-plot-js
木头程序员11 天前
前端(包含HTML/JavaScript/DOM/BOM/jQuery)基础-暴力复习篇
开发语言·前端·javascript·ecmascript·es6·jquery·html5