前端进阶ES6生成器学习及生成器与Promise结合应用
发布时间
阅读量:
阅读量
前言:

ES6生成器是一种可以实现看似同步的异步流程控制表达风格。
1.1 打破完整运行
在代码中几乎普遍依赖的一个假设:一个函数一旦启动就会执行到底,在整个过程中不会受到其他代码插入干预。这一假设是错误的观点。ES6引入了一种新的函数类型,在这种情况下不会执行到底的特点,在这类新功能中被称为生成器
看下面代码:
var x=1;
function *foo(){
x++;
yield;//暂停
console.log("x:",x);
}
function bar(){
x++;
}
ES6代码中只是暂停点的语法是yield。运行到这里,程序会暂停。
注意:在许多地方生成器声明格式为 function* foo(){} , 而非我所采用的 format function *foo(){} ; 唯一的区别在于 格式的摆放位置不同 。这两种实现方式本质上完全一致
看下面代码如何运行生成器:
var it=foo();
全部评论 (0)
还没有任何评论哟~
