[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Already_executing_generator [Back]  [Original]

TypeError: already executing generator - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

TypeError: already executing generator

Die JavaScript-Ausnahme "TypeError: already executing generator" tritt auf, wenn ein generator mithilfe einer seiner Methoden (wie next()) fortgesetzt wird, whrend der Rumpf der Generatorfunktion selbst ausgefhrt wird.

In diesem Artikel

Nachricht

TypeError: Generator is already running (V8-based)
TypeError: already executing generator (Firefox)
TypeError: Generator is executing (Safari)

Fehlertyp

TypeError

Was ist schiefgelaufen?

Die Methoden des Generators, next(), return(), und throw(), sollen die Ausfhrung einer Generatorfunktion fortsetzen, wenn sie nach einem yield-Ausdruck oder vor der ersten Anweisung pausiert ist. Wenn ein Aufruf einer dieser Methoden erfolgt, whrend die Generatorfunktion ausgefhrt wird, wird der Fehler ausgelst. Wenn Sie innerhalb der Generatorfunktion zurckkehren oder eine Ausnahme werfen mchten, verwenden Sie die return-Anweisung bzw. die throw-Anweisung.

Beispiele

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 }

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page