ES6基础----Generator的使用

目录

[Generator 是 ES6提出的解决异步编程的方案之一](#Generator 是 ES6提出的解决异步编程的方案之一)

[1、Generator 和传统函数不一样,使用 * 表示](#1、Generator 和传统函数不一样,使用 * 表示)

[2、Generator 函数可以使用 yield 中途暂停函数](#2、Generator 函数可以使用 yield 中途暂停函数)

[3、Generator(生成器) 函数的返回值是一个遍历器 ,需要定义一个变量接收遍历器,使用 next() 读取值](#3、Generator(生成器) 函数的返回值是一个遍历器 ,需要定义一个变量接收遍历器,使用 next() 读取值)


Generator 是 ES6提出的解决异步编程的方案之一

1、Generator 和传统函数不一样,使用 * 表示

2、Generator 函数可以使用 yield 中途暂停函数

复制代码
   function* test(){

           yield 1;//暂停输出1

             yield 2;

             yield 3;

         }

3、Generator(生成器) 函数的返回值是一个遍历器 ,需要定义一个变量接收遍历器,使用 next() 读取值

复制代码
 let te=test();

console.log(te.next());//{value:1,done:false}  --返回yield后面的值

 console.log(te.next());//{value:1,done:false}  --返回yield后面的值

console.log(te.next());//{value:1,done:false}  --返回yield后面的值

console.log(te.next());//{value: undefined, done: true}  --返回yield后面的值  ---超出设置的值的范围

// next(); 传参

    function* test(){

         let a=2*(yield 10);//暂停得到后面的值

            yield a;

            yield a+10;

        }

 let te=test();

    console.log(te.next());//{value: 10, done: false} --返回yield后面的值  

//要先传值给到 a 计算的式子,替换式子进行计算    

    console.log(te.next(5));//{value: 10, done: false} --返回yield后面的值  

    console.log(te.next());//{value: 20, done: false}  --返回yield后面的值

    console.log(te.next());//{value: undefined, done: true}  --返回yield后面的值 ---超出设置的值的范围
相关推荐
门思科技14 分钟前
LoRaWAN 网络排障的五层漏斗:从"上不到云"到"数值不对",每一层该用什么工具证明
前端
计算机魔术师14 分钟前
Cursor 官方插件商城现恶意 Claude Code 扩展,约 11 小时影响最多 5000 名开发者
前端
掘金者阿豪24 分钟前
MongoDB迁移到金仓数据库:商品属性继续灵活存,订单报表交给 SQL
前端·后端
凉茶钱27 分钟前
红黑树:用“颜色”换“平衡”,set 与 map 的底层发动机
开发语言·c++·红黑树
高冷小鱼殿下37 分钟前
内部类Lambda与枚举
java·开发语言
栉甜1 小时前
Vue2学习内容(上)
前端·javascript·vue.js·学习
shelly聊外贸1 小时前
WhatsApp 聊天记录如何导出为 CSV?使用 Python 进行数据分析
开发语言·python·数据分析
梦曦i1 小时前
v0.2.0 架构升级:class + reactive 重塑状态管理
前端·uni-app x
布丁爱干饭1 小时前
寄给午后
前端
java1234_小锋1 小时前
【技术专题】CSS3 网页技术 - CSS3 布局进阶
前端·css·css3