Я хочу создать экземпляр класса, который получает генератор в конструкторе.
Я не могу найти никакой документации о том, как это сделать.
В более широком смысле я использую Redux-Saga и пытаюсь обобщить асинхронную логику с помощью классов.
class GeneratorClass {
constructor(generator) {
this.func = generator
}
}
Любые идеи?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете просто передать идентификатор генератора конструктору:
class GeneratorClass {
constructor(generator) {
this.func = generator
}
}
function* generator() {
yield 1;
yield 10;
}
myGenerator = new GeneratorClass(generator)
console.info(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.info(myGenerator.func().next())