我们来设计一个简单无比的需求
比如我要通过简单的函数来返回
1.我的名字(zhangsan)
2.我的年龄(18岁 )
往往我们需要写2个函数,如function showName/showAge
或者我们通过一个函数来返回对象
function showMe(){
return {name:"zhangsan",age:18};
}
但是ES2015有了生成器Generator
function *showMe()
{
let [name,age] = ["zhangsan",18];
yield name;
yield age;
}
let me = showMe();
console.log(me.next().value);//zhangsan
console.log(me.next().value);//18
概念了解
生成器中最重要的过程就是yield语句。
而yield的作用是”切出当前函数运行时”(比较难理解,姑且可以理解为从线程切换到协程)