<html>
<head>
<meta charset="UTF-8">
<title>Generator Demo</title> <script>
function* funGenerator(){
for(var i=0;i<10;i++){ // the result of "var" is as same as "let" here
console.log("loop:" + i);
yield i;
}
} function init(){
var gen = funGenerator();
var ret = gen.next();
while(!ret.done){
console.log("Generator:", ret.value);
ret = gen.next();
}
}
</script>
</head>
<body onload="init();">
</body>
</html>

console打印结果:

loop:0
Generator: 0
loop:1
Generator: 1
loop:2
Generator: 2
loop:3
Generator: 3
loop:4
Generator: 4
loop:5
Generator: 5
loop:6
Generator: 6
loop:7
Generator: 7
loop:8
Generator: 8
loop:9
Generator: 9

***************************************

因为之前基本都是用C#编程,

这写起来,yield一样一样的。

所以,还是得用TypeScript。。
***************************************

Generator 是ES2015中添加的语法,

用来实现异步编程,

但貌似在有了asyc/await之后没太大用处了

***************************************

两个关键字:

* 和 yield

* 表示这是个Generator函数,

yield 表示此处先给调用处返回一个结果,

然后在被调用 next() 时继续后面的(循环)处理。
***************************************

最新文章

  1. 【Swift 2.0】实现简单弹幕功能
  2. MyEclipse10安装Svn插件的几种方法
  3. c++ 基础一
  4. INNODB自增主键的一些问题
  5. Allegro16.3约束设置 (转载)
  6. 使用 IntraWeb (42) - 测试读取 SqLite (一)
  7. poj3687 拓扑序
  8. jquery获取对象
  9. Spring入门(11)-Spring与Junit整合
  10. Mysql 数据库 操作语句
  11. 手算平方根和基于 Java BigInteger 的大整数平方根的实现
  12. windows server 2008 R2 Enterprise 系统安全配置
  13. elasticsearch 介绍
  14. Eruda 一个被人遗忘的移动端调试神器
  15. Exp1 PC平台逆向破解 20164303 景圣
  16. laravel 守护进程Supervisor的配置
  17. 三种bean创建方式
  18. JavaSE_坚持读源码_String对象_Java1.7
  19. Java日志框架Slf4j+Log4j入门
  20. Lazarus的二维码解决方案

热门文章

  1. jsp里面不能使用${pageContext.request.contextPath}解决方案
  2. Bootstrap Table 超多列 使用滚动条
  3. 【终极答案】搭建selenium3.11 +Firefox+python3.6自动化UI测试环境踩的坑
  4. 学以致用十一-----centos7.2+python3+YouCompleteMe走过的坑
  5. jquery的call()和apply()方法
  6. Spring的下载与安装
  7. XCode中安装cocoapods步骤
  8. 51nod 1239 欧拉筛模板
  9. maven之web工程的搭建
  10. noip第5课作业