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后面的值 ---超出设置的值的范围
相关推荐
谢泽豪几秒前
解决 uniapp 修改index.html文件不生效的问题
前端·uni-app
heartmoonq4 分钟前
关于前端监控用户行为导致的报错
前端
已读不回1434 分钟前
告别痛苦的主题切换!用一个插件解决 Tailwind CSS 多主题开发的所有烦恼
前端·架构
pepedd8644 分钟前
🚀Webpack 从入门到优化,一文全掌握!
前端·webpack·trae
TimelessHaze5 分钟前
【面试考点】从URL输入到页面展示
前端·trae
玲小珑7 分钟前
LangChain.js 完全开发手册(一)AI 应用开发入门
前端·langchain·ai编程
excel7 分钟前
前端必修:从表单基础到富文本编辑,一文吃透 HTML 表单编程与交互
前端
袁煦丞10 分钟前
JuiceSSH你的口袋里的Linux操控台:cpolar内网穿透实验室第530个成功挑战
前端·程序员·远程工作
鹏多多14 分钟前
深入解析vue的transition过渡动画使用和优化
前端·javascript·vue.js
程序员小续26 分钟前
React 源码解读流程:从入口到渲染的全链路揭秘
前端·javascript·面试