如何将生成器暴露给ES5代码?

时间:2015-07-21 13:18:47

标签: babeljs

此问题特定于创建。已经提出了与测试相关的类似问题,但是图书馆需要采用不同的方法,因为它们是独立使用的。

我正在编写一个库,它公开了一个可以使用生成器迭代的类。它使用babel编译到ES5,并包含polyfill

ES5代码如何以简单的方式迭代生成器?

我正在考虑向类中添加toArray方法,将结果转换为数组:

// GeneratorClass is exposed by the library

var generator = new GeneratorClass();

generator.toArray().forEach(function (item) {
  // ...
});

这是一种常见的方法吗?还是有一个更好的?

即使它们可用,您也不能指望消费者了解/关心如何使用generator[Symbol.iterator]iterator.next方法。

0 个答案:

没有答案