A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator/throw below:

AsyncGenerator.prototype.throw() - JavaScript | MDN

AsyncGenerator.prototype.throw()

Baseline Widely available

Die throw() Methode von AsyncGenerator Instanzen wirkt so, als ob ein throw-Statement an der aktuellen angehaltenen Position im Körper des Generators eingefügt worden wäre, was den Generator über eine Fehlerbedingung informiert und ihm ermöglicht, den Fehler zu behandeln, oder Aufräumarbeiten durchzuführen und sich selbst zu schließen.

Syntax
asyncGeneratorInstance.throw(exception)
Parameter
exception

Die Ausnahme, die geworfen werden soll. Zu Debugging-Zwecken ist es nützlich, sie als instanceof Error zu gestalten.

Rückgabewert

Falls der geworfene Fehler nicht abgefangen wird, wird ein Promise zurückgegeben, das mit der übergebenen Ausnahme abgelehnt wird.

Wird die Ausnahme von einem try...catch abgefangen und der Generator führt die Erzeugung weiterer Werte fort, wird ein Promise zurückgegeben, das mit einem Object aufgelöst wird, das zwei Eigenschaften hat:

done

Ein boolescher Wert:

value

Der Wert, der vom nächsten yield-Ausdruck erzeugt wird.

Beispiele Verwendung von throw()

Das folgende Beispiel zeigt einen Generator und einen Fehler, der mit der throw-Methode geworfen wird. Ein Fehler kann wie gewohnt von einem try...catch-Block abgefangen werden.

// An async task. Pretend it's doing something more useful
// in practice.
function sleep(time) {
  return new Promise((resolve, reject) => {
    setTimeout(resolve, time);
  });
}

async function* createAsyncGenerator() {
  while (true) {
    try {
      await sleep(500);
      yield 42;
    } catch (e) {
      console.error(e);
    }
  }
}

const asyncGen = createAsyncGenerator();
asyncGen.next(1).then((res) => console.log(res)); // { value: 42, done: false }
asyncGen
  .throw(new Error("Something went wrong")) // Error: Something went wrong
  .then((res) => console.log(res)); // { value: 42, done: false }
Spezifikationen Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Übersetzung hilfreich?

Diese Seite wurde automatisch aus dem Englischen übersetzt.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4