我想实例化一个在构造函数中接收生成器的类。
我找不到任何关于如何实现这一点的文档。
在更广泛的意义上,我正在使用Redux-Saga,并试图通过类来泛化异步逻辑。
class GeneratorClass {
constructor(generator) {
this.func = generator
}
}
有什么想法吗?
发布于 2018-06-20 03:41:08
您可以简单地将生成器的标识符传递给构造函数:
class GeneratorClass {
constructor(generator) {
this.func = generator
}
}
function* generator() {
yield 1;
yield 10;
}
myGenerator = new GeneratorClass(generator)
console.log(myGenerator.func().next())
您还可以通过使用包装函数将参数传递给生成器:
class GeneratorClass {
constructor(generator, start) {
this.func = generator(start)
}
}
function generator(i) {
return function*() {
yield i + 1;
yield i + 10;
}
}
myGenerator = new GeneratorClass(generator, 10)
console.log(myGenerator.func().next())
https://stackoverflow.com/questions/50935683
复制相似问题