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后面的值 ---超出设置的值的范围
相关推荐
www_pp_9 分钟前
# 构建词汇表:自然语言处理中的关键步骤
前端·javascript·自然语言处理·easyui
杜小暑35 分钟前
动态内存管理
c语言·开发语言·动态内存管理
想不明白的过度思考者36 分钟前
Java从入门到“放弃”(精通)之旅——JavaSE终篇(异常)
java·开发语言
天天扭码44 分钟前
总所周知,JavaScript中有很多函数定义方式,如何“因地制宜”?(ˉ﹃ˉ)
前端·javascript·面试
一个专注写代码的程序媛1 小时前
为什么vue的key值,不用index?
前端·javascript·vue.js
我真的不会C1 小时前
QT窗口相关控件及其属性
开发语言·qt
CodeCraft Studio1 小时前
Excel处理控件Aspose.Cells教程:使用 Python 在 Excel 中进行数据验
开发语言·python·excel
장숙혜1 小时前
ElementUi的Dropdown下拉菜单的详细介绍及使用
前端·javascript·vue.js
火柴盒zhang1 小时前
websheet之 编辑器
开发语言·前端·javascript·编辑器·spreadsheet·websheet
某公司摸鱼前端1 小时前
uniapp 仿企微左边公司切换页
前端·uni-app·企业微信