Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Promise
  6. reject()

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

View in EnglishAlways switch to English

Promise.reject()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Die statische MethodePromise.reject() gibt einPromise-Objekt zurück, das mit einem angegebenen Grund abgelehnt wird.

Probieren Sie es aus

function resolved(result) {  console.log("Resolved");}function rejected(result) {  console.error(result);}Promise.reject(new Error("fail")).then(resolved, rejected);// Expected output: Error: fail

Syntax

js
Promise.reject(reason)

Parameter

reason

Grund, warum diesesPromise abgelehnt wurde.

Rückgabewert

EinPromise, das mit dem angegebenen Grund abgelehnt wird.

Beschreibung

Die statische FunktionPromise.reject gibt einPromise zurück, das abgelehnt wird. Für Debugging-Zwecke und selektives Fehlerfangen ist es nützlich,reason alsinstanceofError zu gestalten.

Promise.reject() ist generisch und unterstützt Subclassing, was bedeutet, dass es auf Unterklassen vonPromise aufgerufen werden kann, und das Ergebnis wird ein Promise des Unterklasstyps sein. Dazu muss der Konstruktor der Unterklasse dieselbe Signatur wie derPromise()-Konstruktor implementieren — indem sie eine einzelneexecutor-Funktion akzeptiert, die mit denresolve undreject Rückrufen als Parameter aufgerufen werden kann.Promise.reject() ist im Wesentlichen eine Kurzform fürnew Promise((resolve, reject) => reject(reason)).

Im Gegensatz zuPromise.resolve() verpacktPromise.reject() denreason immer in einem neuenPromise-Objekt, selbst wennreason bereits einPromise ist.

Beispiele

Verwendung der statischen Methode Promise.reject()

js
Promise.reject(new Error("fail")).then(  () => {    // not called  },  (error) => {    console.error(error); // Stacktrace  },);

Dem Ablehnen mit einem Promise

Im Gegensatz zuPromise.resolve verwendet diePromise.reject Methode keine bestehendenPromise-Instanzen erneut. Sie gibt immer eine neuePromise-Instanz zurück, diereason umschließt.

js
const p = Promise.resolve(1);const rejected = Promise.reject(p);console.log(rejected === p); // falserejected.catch((v) => {  console.log(v === p); // true});

Aufruf von reject() bei einem Konstruktor, der kein Promise ist

Promise.reject() ist eine generische Methode. Sie kann auf jedem Konstruktor aufgerufen werden, der dieselbe Signatur wie derPromise()-Konstruktor implementiert. Zum Beispiel können wir sie auf einem Konstruktor aufrufen, derconsole.log alsreject übergibt:

js
class NotPromise {  constructor(executor) {    // The "resolve" and "reject" functions behave nothing like the    // native promise's, but Promise.reject() calls them in the same way.    executor(      (value) => console.log("Resolved", value),      (reason) => console.log("Rejected", reason),    );  }}Promise.reject.call(NotPromise, "foo"); // Logs "Rejected foo"

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-promise.reject

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp