Tag: 生成器

什么是ES6生成器,如何在node.js中使用它们?

今天我在一个node.js聚会上,有一个我在那里遇到的人说node.js有es6生成器。 他表示,这是一个比callback风格编程的巨大改进,并且会改变节点格局。 Iirc,他说了一些关于调用栈和exception的东西。 我查看了他们,但是还没有真正发现任何能够以一种对初学者友好的方式解释他们的资源。 什么是生成器的高级概述,和callback有什么不同(或更好?)? PS:如果你可以给出一段代码来突出显示常见场景(做一个http请求或数据库调用)的区别,那真的很有帮助。

asynchronous/等待和ES6产出与发电机之间的差异

我正在阅读这篇精彩的文章 – https://www.promisejs.org/generators/ 它清楚地突出了这个函数,它是处理生成器函数的辅助函数: function async(makeGenerator){ return function () { var generator = makeGenerator.apply(this, arguments); function handle(result){ // result => { done: [Boolean], value: [Object] } if (result.done) return Promise.resolve(result.value); return Promise.resolve(result.value).then(function (res){ return handle(generator.next(res)); }, function (err){ return handle(generator.throw(err)); }); } try { return handle(generator.next()); } catch (ex) { return Promise.reject(ex); } } } […]