此问题特定于库创建。已经提出了与测试相关的类似问题,但是图书馆需要采用不同的方法,因为它们是独立使用的。
我正在编写一个库,它公开了一个可以使用生成器迭代的类。它使用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
方法。