ES6里的生成器Generators
2017-08-16 14:52
309 查看
生成器的定义:
使用关键字function* 来定义一个生成器
生成器内部使用yield关键字来做输入输出的操作
假如yield后面有return的操作,那么return后面的yield都会无效
yield 的操作是先输出,[然后再读一个内容,假如你有输入的话]
yield 是双向的不阻断的,return 是单向只读的,return 完后立即终止
例子:
function* communication(){
var name = yield 'what is your name ?';
var age = yield 'what is your age ?';
return `$ {name}'s age is ${age}`;
var weight = yield 'what is your weight?'
}
var talk = communication();
talk.next();
talk.next('john');
talk.next('18');
talk.next();
使用关键字function* 来定义一个生成器
生成器内部使用yield关键字来做输入输出的操作
假如yield后面有return的操作,那么return后面的yield都会无效
yield 的操作是先输出,[然后再读一个内容,假如你有输入的话]
yield 是双向的不阻断的,return 是单向只读的,return 完后立即终止
例子:
function* communication(){
var name = yield 'what is your name ?';
var age = yield 'what is your age ?';
return `$ {name}'s age is ${age}`;
var weight = yield 'what is your weight?'
}
var talk = communication();
talk.next();
talk.next('john');
talk.next('18');
talk.next();
相关文章推荐
- ES6学习——生成器(Generators):原型继承关系详解
- ES6学习——生成器(Generators):生成器中的this与super
- ES6学习——生成器(Generators):生成器+Promises
- ES6学习——生成器(Generators):概念介绍
- ES6学习——生成器(Generators):生成器应用示例
- ES6学习——生成器(Generators):return和throw
- ES6学习——生成器(Generators):生成器高级应用
- 深入浅出ES6(三):生成器 Generators
- 深入浅出ES6(三):生成器 Generators
- ES6学习——生成器(Generators):yield*
- ES6学习——生成器(Generators):详细语法
- 深入浅出ES6(十一):生成器 Generators,续篇
- ES6学习——生成器(Generators):生成器+迭代器
- ES6中的迭代器(Iterator)和生成器(Generator)
- Python Generators(生成器)——yield关键字
- 静态网站(博客)生成器(Static-Site-Generators)
- ES6中的迭代器(Iterator)和生成器(Generator)(一)
- ES6 Generators基本概念
- ES6 Generators并发
- 【Python 3这件小事】4. Generators(生成器)的传说