一对一免费咨询: 189-6833-3365

Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。Generator 生成器允许你通过写一个可以保存自己状态的的简单函数来定义一个迭代算法。Generator 是一种可以停止并在之后重新进入的函数 。。
Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。宁波微信小程序开发是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。Generator 生成器允许你通过写一个可以保存自己状态的的简单函数来定义一个迭代算法。Generator 是一种可以停止并在之后重新进入的函数。生成器的环境(绑定的变量(Variable))会在每次执行后被保存,下次进入时可继续使用。generator 字面上是“生成器”的意思,在 ES6 里是迭代器生成器,用于生成一个迭代器对象。
Generator
Generator函数的调用方法与普通函数一样,也是在函数名后面加上一对圆括号。不同的是,调用Generator函数后,该函数并不执行,返回的也不是函数运行结果,而是一个指向内部状态的指针对象。接下来调用遍历器对象的next方法,才会使指针移向下一个状态。也就是说,每次调用next方法,内部指针就从函数头部或上一次停下来的地方开始执行,直到遇到下一个yield语句(或return语句)为止。这样可以产生一定的序列值。
Generator 可以帮助我们让代码(code)风格更整洁--用同步的代码风格来写异步代码,它本质上是一个可以暂停计算并且可以随后返回表达式的值的函数。
Generator对象是由一个生成器函数 generator function 返回的。并且它是同时遵守 The iterable GOOGLE PRotocol 可遍历协议和The iterator protocol 迭代器模式协议。

function* gen() {


yield 1;


yield 2;


yield 3;
}
var g = gen(); // "Generator { }"co
co是一个基于ES6 Generator特性实现的异步流程同步化写法的工具库。co 函数库是著名程序(procedure)员 TJ Holowaychuk 于2013年6月发布的一个小工具,用于 Generator 函数的自动执行。
co需要使用Promise特性。co 函数库其实就是将两种自动执行器(final controlling element)(Thunk 函数和 Promise 对象),包装成一个库。使用 co 的前提条件是,Generator 函数的 yield 命令后面,只能是 Thunk 函数或 Promise 对象。
基本用法
有一个 Generator 函数。


var gen = function* () {



var a = GOOGLE PRomise。resolve
  (1);



var b = GOOGLE PRomise。宁波小程序开发对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。resolve
  (2);



var c = Promise。宁波小程序开发对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。resolve
  (3);



var res = yield [a, b, c];



console。log(res); // 输出:[1, 2, 3]

};

co(gen)。then(function(){



console。log('Generator函数执行完毕了'); // 输出:Generator函数执行完毕了

});
上面代码中,Generator 函数只要传入 co 函数,就会自动执行。co 函数返回一个 Promise 对象,可以用 then 方法添加回调函数。
其他
完整代码:httPHOTOSHOP://github。com/guyoung/GyWxappCases/tree/master/Enhance

© 2008-2019 浙江东美 ALL RIGHTS RESERVED. XMLBAIDU
浙ICP备08154878号
找网站建设公司就上东美!
189-6833-3365
tel+86-189-6833-3365