当前位置: 首页 > article >正文

ES6基础----Generator的使用

         目录

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

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

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

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后面的值 ---超出设置的值的范围




 


 


http://www.kler.cn/a/288593.html

相关文章:

  • WEB前端-2
  • 国产游戏崛起,燕云十六移动端1.9上线,ToDesk云电脑先开玩
  • DAY15 神经网络的参数和变量
  • python中的列表推导式详解
  • 计算机网络基础——网络协议
  • 用豆包MarsCode IDE打造精美数据大屏:从零开始的指南
  • 【RabbitMQ之一:windows环境下安装RabbitMQ】
  • 数分基础(05)中心极限定理、假设检验与AB测试简介
  • 多线程并发性
  • 二叉树展开为列表(LeetCode)
  • 改进YOLO的群养猪行为识别算法研究及部署(小程序-网站平台-pyqt)
  • 【通俗理解】最优控制之旅——强化学习中的策略优化
  • 物业|基于SprinBoot+vue的物业管理系统(源码+数据库+文档)
  • 深入理解 CSS Flex 布局
  • Golang 字面量的表示
  • 【HarmonyOS 4.0】应用级变量的状态管理
  • 每天一个数据分析题(五百一十二)- 数据标准化
  • SprinBoot+Vue在线商城微信小程序的设计与实现
  • DZ主题模板 Discuz迪恩淘宝客购物风格商业版模板
  • Git和SVN了解
  • blender插件库
  • Unity URP支持多光源阴影
  • 解决windterm莫名其妙输入ctrl+c的问题
  • 【IC设计】跨时钟异步处理系列——单比特跨时钟
  • 时间序列的解密者:循环神经网络在时间序列分析中的应用
  • 【docker】docker 是什么