TypeError: already executing generator
The JavaScript exception "TypeError: already executing generator" occurs when agenerator is continued using one of its methods (such asnext()) while executing the generator function's body itself.
In this article
Message
TypeError: Generator is already running (V8-based)TypeError: already executing generator (Firefox)TypeError: Generator is executing (Safari)
Error type
TypeErrorWhat went wrong?
The generator's methods,next(),return(), andthrow(), are meant to continue the execution of a generator function when it's paused after ayield expression or before the first statement. If a call to one of these methods is made while executing the generator function, the error is thrown. If you want to return or throw within the generator function, use thereturn statement or thethrow statement, respectively.
Examples
js
let it;function* getNumbers(times) { if (times <= 0) { it.throw(new Error("times must be greater than 0")); } for (let i = 0; i < times; i++) { yield i; }}it = getNumbers(3);it.next();js
let it;function* getNumbers(times) { if (times <= 0) { throw new Error("times must be greater than 0"); } for (let i = 0; i < times; i++) { yield i; }}it = getNumbers(3);it.next(); // { value: 0, done: false }