Spec-Zone.ru › Web APIs

SharedStorageRunOperation

Экспериментальная: Это экспериментальная технология
Перед использованием в продакшене внимательно ознакомьтесь со таблицей совместимости браузеров.

Интерфейс SharedStorageRunOperation API общего хранилища представляет собой операцию выхода результата выполнения.

Методы экземпляра

run() Экспериментальная

Определяет структуру, которой должна соответствовать операция run() метода, определённая внутри операции выхода результата выполнения.

Примеры

В этом примере класс под названием ReachMeasurementOperation определён в модуле worklet и зарегистрирован с помощью SharedStorageWorkletGlobalScope.register() под именем reach-measurement. SharedStorageRunOperation определяет структуру, которой должен соответствовать этот класс, по сути, определяя параметры, необходимые для метода run(). Помимо этого требования, функциональность класса может быть определена гибко.

// reach-measurement-worklet.js
const SCALE_FACTOR = 65536;

function convertContentIdToBucket(contentId) {
  return BigInt(contentId);
}

class ReachMeasurementOperation {
  async run(data) {
    const { contentId } = data;

    // Read from Shared Storage
    const key = "has-reported-content";
    const hasReportedContent = (await this.sharedStorage.get(key)) === "true";

    // Do not report if a report has been sent already
    if (hasReportedContent) {
      return;
    }

    // Generate the aggregation key and the aggregatable value
    const bucket = convertContentIdToBucket(contentId);
    const value = 1 * SCALE_FACTOR;

    // Send an aggregatable report via the Private Aggregation API
    privateAggregation.sendHistogramReport({ bucket, value });

    // Set the report submission status flag
    await this.sharedStorage.set(key, true);
  }
}

// Register the operation
register("reach-measurement", ReachMeasurementOperation);

Примечание: Возможно определение и регистрация нескольких операций в одном модуле скрипта worklet общего хранилища с различными именами. См. SharedStorageOperation для примера.

В основном контексте просмотра операция reach-measurement вызывается с помощью метода WindowSharedStorage.run():

async function measureUniqueReach() {
  // Load the Shared Storage worklet
  await window.sharedStorage.worklet.addModule("reach-measurement-worklet.js");

  // Run the reach measurement operation
  await window.sharedStorage.run("reach-measurement", {
    data: { contentId: "1234" },
  });
}

measureUniqueReach();

Дополнительную информацию об этом примере см. на странице Измерение уникального охвата. Дополнительные примеры см. в API общего хранилища.

Спецификации

Спецификация не найдена

Данные спецификации не найдены для api.SharedStorageRunOperation.
Проверьте наличие проблем на этой странице или внесите отсутствующую spec_url в mdn/browser-compat-data. Также убедитесь, что спецификация включена в w3c/browser-specs.

Совместимость браузеров

См. также

  • API общего хранилища

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SharedStorageRunOperation

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API