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

View in English Always switch to English

HTMLImageElement: decode() Methode

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Die decode() Methode des HTMLImageElement Interfaces gibt ein Promise zurück, das aufgelöst wird, sobald das Bild decodiert ist und sicher an das DOM angehängt werden kann.

Dies kann verwendet werden, um das Laden des Bildes zu initiieren, bevor es an ein Element im DOM angehängt wird (oder es als neues Element zum DOM hinzugefügt wird), sodass das Bild sofort beim Hinzufügen zum DOM gerendert werden kann. Dies verhindert, dass das Rendern des nächsten Frames nach dem Hinzufügen des Bildes zum DOM eine Verzögerung verursacht, während das Bild geladen wird.

Syntax

js
decode()

Parameter

Keine.

Rückgabewert

Ein Promise, das mit undefined erfüllt wird, sobald die Bilddaten zur Verwendung bereit sind.

Ausnahmen

EncodingError DOMException

Ein Fehler ist beim Decodieren des Bildes aufgetreten. Dies kann passieren, wenn:

  • Die Anfrage fehlgeschlagen ist
  • Die Bildanfrage nach dem Aufruf von decode() geändert wurde (zum Beispiel durch Ändern von src)
  • Die Bilddaten beschädigt sind

Beispiele

Grundlegende Nutzung

Das folgende Beispiel zeigt, wie Sie die decode() Methode verwenden, um zu steuern, wann ein Bild an das DOM angehängt wird.

js
const img = new Image();
img.src = "nebula.jpg";
img
  .decode()
  .then(() => {
    document.body.appendChild(img);
  })
  .catch((encodingError) => {
    // Do something with the error.
  });

Hinweis: Ohne eine Promise-zurückgebende Methode würden Sie das Bild in einem load Ereignishandler zum DOM hinzufügen und den Fehler im