当前位置: 首页 > 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/news/288593.html

相关文章:

  • 【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 是什么
  • 为啥一定要考HCIE安全?这4个理由你不得不看
  • Docker 镜像构建
  • 持续集成与持续部署(CI/CD)的深入探讨
  • 铭江酒趣乐园小程序
  • HarmonyOS开发实战( Beta5版)跨线程序列化耗时点分析工具使用规范指南
  • 计算机基础知识+CSP真题册
  • weblogic漏洞——CVE-2020-14882
  • “京东云深海数据平台” 焕新升级
  • 艾体宝洞察丨透过语义缓存,实现更快、更智能的LLM应用程序
  • 计算二叉树的深度(LeetCode)