ES2015中最惊艳特性之生成器函数初步

来源:互联网 发布:南方电网面试 知乎 编辑:程序博客网 时间:2024/05/14 22:56

我们来设计一个简单无比的需求 
比如我要通过简单的函数来返回 
1.我的名字(zhangsan) 
2.我的年龄(18岁 )

往往我们需要写2个函数,如function showName/showAge 
或者我们通过一个函数来返回对象

function showMe(){    return {name:"zhangsan",age:18};}
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

但是ES2015有了生成器Generator

function *showMe(){    let [name,age] = ["zhangsan",18];    yield name;    yield age;}let me = showMe();console.log(me.next().value);//zhangsanconsole.log(me.next().value);//18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

概念了解 
生成器中最重要的过程就是yield语句。 
而yield的作用是”切出当前函数运行时”(比较难理解,姑且可以理解为从线程切换到协程)

原创粉丝点击