StorageArea.set()
Speichert ein oder mehrere Elemente im Speicherbereich oder aktualisiert gespeicherte Elemente.
Wenn Sie einen Wert mit dieser API speichern oder aktualisieren, wird das Ereignis storage.onChanged
ausgelöst.
Beachten Sie, dass bei der Speicherung von Elementen im sync
Speicherbereich der Browser Quoten für die Menge an Daten erzwingt, die jede Erweiterung speichern kann. Siehe Speicherquoten für synchrone Daten.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let settingItem = browser.storage.<storageType>.set(
keys // object
)
Wo <storageType>
einer der beschreibbaren Speichertypen ist — storage.local
, storage.session
oder storage.sync
.
Parameter
keys
-
Ein Objekt, das ein oder mehrere Schlüssel/Wert-Paare enthält, die gespeichert werden sollen. Wenn ein Element im Speicher ist, wird dessen Wert aktualisiert.
Werte können primitive (wie eine Zahl, Boolean oder String),
Array
oderObject
Typen sein.Es ist generell nicht möglich, andere Typen zu speichern, wie
Function
,Date
,RegExp
,Set
,Map
,ArrayBuffer
usw. Einige nicht unterstützte Typen werden als leeres Objekt wiederhergestellt, während andere dazu führen, dassset()
einen Fehler auslöst. Das Verhalten ist browserspezifisch.
Hinweis:
Wenn Sie Schlüssel aus dem Speicher entfernen möchten, verwenden Sie storage.storageArea.remove
. Wenn Sie einen Wert mit einem leeren Wert überschreiben möchten, verwenden Sie null
, also key: null
.
Rückgabewert
Ein Promise
, das ohne Argumente erfüllt wird, wenn die Operation erfolgreich ist. Wenn die Operation fehlschlägt, wird das Versprechen mit einer Fehlermeldung abgelehnt.
Beispiele
function setItem() {
console.log("OK");
}
function gotKitten(item) {
console.log(`${item.kitten.name} has ${item.kitten.eyeCount} eyes`);
}
function gotMonster(item) {
console.log(`${item.monster.name} has ${item.monster.eyeCount} eyes`);
}
function onError(error) {
console.log(error);
}
// define 2 objects
let monster = {
name: "Kraken",
tentacles: true,
eyeCount: 10,
};
let kitten = {
name: "Moggy",
tentacles: false,
eyeCount: 2,
};
// store the objects
browser.storage.local.set({ kitten, monster }).then(setItem, onError);
browser.storage.local.get("kitten").then(gotKitten, onError);
browser.storage.local.get("monster").then(gotMonster, onError);
Browser-Kompatibilität
Hinweis:
Diese API basiert auf der chrome.storage
API von Chromium. Diese Dokumentation stammt von storage.json
im Chromium-Code.