Как происходит передача значения генератору?
Имеется следующий код:
function* gen() {
let result = yield "2 + 2 = ?";
console.log(result);
}
let generator = gen();
let question = generator.next().value;
generator.next(4); // 4
Как происходит передача значения генератору в данном случае, да и вообще, в целом? Ибо не до конца понятен этот момент, особенно в строке generator.next(4);, где, как я думаю, значение как раз должно передаваться в следующий yield, однако его нет.
Ответы (1 шт):
Автор решения: Vasily
→ Ссылка
Когда вы только получаете generator то Вам нужно сначала как-бы "проинициализировать" его, вызвав .next() без параметров:
gen.next()
После этого можно передавать параметры:
function * generator () {
const input_one = yield "Первое значение"
return input_one
}
const gen = generator()
gen.next()
gen.next("Второе значение").value // Второе значение