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

View in English Always switch to English

Observable: Methode every()

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die Methode every() der Schnittstelle Observable gibt ein Promise zurück, das mit einem booleschen Wert erfüllt wird. Dieser gibt an, ob jeder vom Quell-Observable ausgegebene Wert die angegebene Prüffunktion erfüllt.

Syntax

js
every(predicate)
every(predicate, options)

Parameter

predicate

Eine Funktion, die für jeden vom Quell-Observable ausgegebenen Wert ausgeführt wird. Sie sollte einen truthy-Wert zurückgeben, wenn der Wert die Prüfung besteht, andernfalls einen falsy-Wert. Die Funktion wird mit den folgenden Argumenten aufgerufen:

value

Der aktuell verarbeitete Wert.

index

Der Index des aktuell verarbeiteten Werts, beginnend bei 0.

options Optional

Ein Optionsobjekt mit den folgenden Eigenschaften:

signal Optional

Ein AbortSignal, mit dem der Vorgang abgebrochen werden kann. Wird das Signal abgebrochen, wird das Abonnement des Quell-Observables beendet und das Promise mit dem reason des Signals zurückgewiesen. Ist das Signal bereits abgebrochen, wird das Promise zurückgewiesen, ohne das Quell-Observable zu abonnieren.

Rückgabewert

Ein Promise, das mit false erfüllt wird, sobald predicate einen falsy-Wert zurückgibt, oder mit true, wenn das Quell-Observable abgeschlossen wird, ohne dass ein Wert die Prüfung nicht besteht. Wird das Quell-Observable abgeschlossen, ohne Werte ausgegeben zu haben, wird das Promise mit true erfüllt.

Tritt beim Quell-Observable ein Fehler auf oder löst predicate eine Ausnahme aus, wird das Promise mit diesem Fehler zurückgewiesen. Wird der Vorgang abgebrochen, wird das Promise mit dem Abbruchgrund zurückgewiesen.

Beschreibung

Wie andere Operatoren, die ein Promise zurückgeben, abonniert diese Methode das Quell-Observable sofort beim Aufruf. Ein gesonderter Aufruf von subscribe() ist nicht erforderlich.

Wenn predicate einen falsy-Wert zurückgibt, beendet every() das Abonnement des Quell-Observables, ohne dessen Abschluss abzuwarten. Wenn das Quell-Observable nie abgeschlossen wird und alle Werte die Prüfung bestehen, bleibt das Promise ausstehend, sofern kein Fehler auftritt und der Vorgang nicht abgebrochen wird.

Der Rückgabewert von predicate wird in einen booleschen Wert umgewandelt, ohne auf ihn zu warten. Eine asynchrone Funktion gibt unabhängig von ihrem späteren Ergebnis ein truthy-Promise-Objekt zurück und kann daher nicht als asynchrone Prüffunktion verwendet werden.

Wenn predicate eine Ausnahme auslöst, wird das Abonnement des Quell-Observables beendet.

Beispiele

every() verwenden

Dieses Beispiel prüft, ob bei jedem der ersten drei Klicks auf die Schaltfläche die Umschalttaste gedrückt gehalten wird. Es meldet false, sobald ein Klick die Prüfung nicht besteht, oder true, nachdem alle drei sie bestanden haben. Klicken Sie nach dem Ende des Datenstroms auf „Restart“, um es erneut zu versuchen.

js
const btn = document.querySelector("button");
const output = document.querySelector("p");

const restart = document.querySelector("#restart");

function start() {
  restart.disabled = true;
  output.textContent = "Waiting for clicks";
  btn
    .when("click")
    .take(3)
    .every((event) => event.shiftKey)
    .then((result) => {
      restart.disabled = false;
      output.textContent = result;
    });
}

restart.when("click").subscribe(start);
start();

Spezifikationen

Spezifikation
Observable
# dom-observable-every

Browser-Kompatibilität

Siehe auch