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');
相关推荐
yume_sibai20 天前
ES6 核心知识点完全总结(变量 + 箭头函数 + 解构 + Promise + 模块化)
前端·ecmascript·es6
晴天1622 天前
ES6+ 核心语法
前端·es6·状态模式
变与不变80624 天前
JS作用域,作用域链
前端·javascript·es6
EthanChou20201 个月前
AES67协议笔记
前端·笔记·es6
CappuccinoRose1 个月前
ES6+ 核心语法糖
前端·es6·解构·可选链·空值合并
小白勇闯网安圈1 个月前
Vue 工程化开发:组件复用、插槽、项目结构与 ES6 模块化
javascript·vue.js·es6
Brown.alexis1 个月前
es6知识点4-自备使用
前端·javascript·es6
Brown.alexis1 个月前
es6知识点5-自备使用
前端·javascript·es6
Brown.alexis1 个月前
es6知识点1-自备使用
前端·ecmascript·es6
Brown.alexis1 个月前
es6知识点3-自备使用
前端·javascript·es6