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后面的值 ---超出设置的值的范围
相关推荐
智购科技无人售货机工厂店20 分钟前
玻璃瓶饮料破损率突然上升,排查发现是取货口缓冲垫老化了~YH
java·开发语言·人工智能·python·eclipse
枫叶丹429 分钟前
语音 AI 怎样边听边答:实时对话系统的工作原理
开发语言·人工智能·chatgpt·开源·php·agent·codex
xie0510_38 分钟前
Any类简要实现
开发语言·c++·算法
小狼Solar41 分钟前
SAP MDG 功能范围说明(基于S/4HANA 2025)
java·开发语言
kimnoic41 分钟前
Python常用标准库模块及查询使用方法
开发语言·python
知识分享小能手1 小时前
C学习教程,从入门到精通,C语言输入和输出(4)
c语言·开发语言·学习
道尔柯南1 小时前
C++ 入门基础详解:从第一个程序到核心语法特性
开发语言·c++
盛世宏博智慧档案1 小时前
Modbus TCP+PoE以太网温湿度传感器项目部署全流程,附网络调试实操
开发语言·tcp/ip·php·以太网·传感器·温湿度
ACP广源盛139246256731 小时前
Type-C 扩展坞方案选型笔记|国产 DP1.2 转 HDMI2.0 桥接芯片 GSV2201D@ACP 评估
开发语言·笔记·硬件架构·硬件工程·hdmi·国产芯片