SharedStorageWorkletGlobalScope: `register()`-Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

Die register()-Methode des SharedStorageWorkletGlobalScope-Interfaces registriert eine Operation, die innerhalb des aktuellen Worklet-Moduls definiert ist.

Syntax

js
register(name, operationCtor)

Parameter

name

Ein String, der den Namen repräsentiert, unter dem Sie die Operation registrieren möchten. Wenn die Operation aufgerufen wird (z. B. über WindowSharedStorage.run() oder WindowSharedStorage.selectURL()), wird dieser Name verwendet, um die auszuführende Operation zu identifizieren.

operationCtor

Ein String, der den Klassennamen der zu registrierenden Operation repräsentiert. Dies ist der Klassenkonstruktor, der aufgerufen wird, wenn die Operation ausgeführt wird.

Rückgabewert

Keiner (undefined).

Ausnahmen

TypeError

Wird geworfen, wenn:

  • Eine Operation bereits mit dem angegebenen Namen registriert wurde.
  • operationCtor kein gültiger Konstruktor ist.
  • Die Klasse keine gültige run()-Methode enthält.
  • Das Worklet-Modul nicht mit SharedStorageWorklet.addModule() hinzugefügt wurde.

Beispiele

js
// ab-testing-worklet.js
class SelectURLOperation {
  async run(urls, data) {
    // Read the user's experiment group from shared storage
    const experimentGroup = await this.sharedStorage.get("ab-testing-group");

    // Return the group number
    return experimentGroup;
  }
}

register("ab-testing", SelectURLOperation);

Siehe die Shared Storage API-Startseite für eine detaillierte Anleitung zu diesem Beispiel und für Links zu weiteren Beispielen.

Hinweis: Es ist möglich, mehrere Operationen im selben Shared Storage Worklet-Modulskript mit verschiedenen Namen zu definieren und zu registrieren; siehe SharedStorageOperation für ein Beispiel.

Spezifikationen

Specification
Shared Storage API
# dom-sharedstorageworkletglobalscope-register

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch