StorageArea.set()
Speichert einen oder mehrere Einträge im Speicherbereich oder aktualisiert gespeicherte Einträge.
Wenn Sie einen Wert mit dieser API speichern oder aktualisieren, wird das Ereignis storage.onChanged
ausgelöst.
Beachten Sie, dass beim Speichern von Einträgen im sync
Speicherbereich der Browser Quoten für die Datenmenge erzwingt, die jede Erweiterung speichern kann. Siehe Speicherquoten für synchronisierte Daten.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let settingItem = browser.storage.<storageType>.set(
keys // object
)
Dabei ist <storageType>
einer der beschreibbaren Speichertypen—storage.local
, storage.session
oder storage.sync
.
Parameter
keys
-
Ein Objekt mit einem oder mehreren Schlüssel/Werte-Paaren, die gespeichert werden sollen. Wenn ein Eintrag bereits im Speicher ist, wird dessen Wert aktualisiert.
Werte können primitiv (wie eine Zahl, ein Boolean oder ein String),
Array
- oderObject
-Typen sein.Es ist im Allgemeinen nicht möglich, andere Typen wie
Function
,Date
,RegExp
,Set
,Map
,ArrayBuffer
und so weiter zu speichern. Einige nicht unterstützte Typen werden als leeres Objekt wiederhergestellt, während andere dazu führen, dassset()
einen Fehler auslöst. Das Verhalten ist browser-spezifisch.
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
, z.B. key: null
.
Rückgabewert
Ein Promise
, das ohne Argumente erfüllt wird, wenn die Operation erfolgreich ist. Scheitert die Operation, 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
BCD tables only load in the browser
Hinweis: Diese API basiert auf Chromiums chrome.storage
API. Diese Dokumentation ist aus storage.json
im Chromium-Code abgeleitet.