StorageArea.get()
Ruft ein oder mehrere Elemente aus dem Speicherbereich ab.
Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.
Syntax
let results = browser.storage.<storageType>.get(
keys // null, string, object or array of strings
)
Wobei <storageType> einer der folgenden Speichertypen ist: sync, local, session oder managed.
Parameter
keys-
Ein Schlüssel (
string) oder Schlüssel (ein Array von Zeichenfolgen oder ein Objekt, das Standardwerte angibt), um die zu speichernden Elemente zu identifizieren, die aus dem Speicher abgerufen werden sollen. Wenn Sie hier ein leeres Objekt oder Array übergeben, wird ein leeres Objekt abgerufen. Wenn Sienulloder einen undefinierten Wert übergeben, wird der gesamte Speicherinhalt abgerufen.
Rückgabewert
Ein Promise, das in ein results-Objekt aufgelöst wird, welches ein Schlüssel-Wert-Paar für jeden in keys im Speicherbereich gefundenen Schlüssel enthält. Wenn keys ein Objekt ist, nimmt jeder Schlüssel, der nicht im Speicher gefunden wird, den Standardwert aus dem keys-Objekt an.
Wenn die Operation fehlschlägt, wird das Promise mit einer Fehlermeldung zurückgewiesen.
Wenn Managed Storage nicht gesetzt ist, wird undefined zurückgegeben.
Warnung:
In Firefox, wenn der Managed Storage einer Erweiterung nicht mit einem nativen Manifest oder unter Verwendung der 3rdparty-Unternehmensrichtlinie konfiguriert wurde, wird eine Ausnahme ausgelöst, wenn diese Funktion verwendet wird, um auf den Managed Storage zuzugreifen (siehe Firefox Bug 1868153). Dieses Problem kann vermieden werden, indem der Fehler abgefangen wird. Dieses Problem hängt mit der fehlenden Unterstützung für den storage.managed_schema Manifest-Schlüssel zusammen (siehe Firefox Bug 1771731).
Beispiele
Angenommen, der Speicher enthält zwei Elemente:
// storage contains two items,
// "kitten" and "monster"
browser.storage.local.set({
kitten: { name: "Mog", eats: "mice" },
monster: { name: "Kraken", eats: "people" },
});
Definieren Sie Erfolgs- und Fehlerschalter für das Promise:
function onGot(item) {
console.log(item);
}
function onError(error) {
console.log(`Error: ${error}`);
}
Ohne keys-Argument, alles abrufen:
let gettingItem = browser.storage.local.get();
gettingItem.then(onGot, onError);
// -> Object { kitten: Object, monster: Object }
Mit einem leeren keys-Argument, nichts zurückgeben:
// with an empty array, retrieve nothing
let gettingItem = browser.storage.local.get([]);
gettingItem.then(onGot, onError);
// -> Object { }
Mit dem Namen eines Objekts, die Übereinstimmung abrufen:
let gettingItem = browser.storage.local.get("kitten");
gettingItem.then(onGot, onError);
// -> Object { kitten: Object }
Mit einem Array von Objektnamen, alle Übereinstimmungen abrufen:
let gettingItem = browser.storage.local.get([
"kitten",
"monster",
"grapefruit",
]);
gettingItem.then(onGot, onError);
// -> Object { kitten: Object, monster: Object }
Mit einem Objekt, das Objektnamen als Schlüssel und den Standardwert als Wert enthält:
let gettingItem = browser.storage.local.get({
kitten: "no kitten",
monster: "no monster",
grapefruit: {
name: "Grape Fruit",
eats: "Water",
},
});
// -> Object { kitten: Object, monster: Object, grapefruit: Object }
Chrome-Beispiele
chrome.storage.local.get("kitten", (items) => {
console.log(items.kitten); // -> {name:"Mog", eats:"mice"}
});
Oder mit einem Promise
let gettingItem = new Promise((resolve) =>
chrome.storage.local.get("kitten", resolve),
);
gettingItem.then(onGot); // -> Object { kitten: Object }
Browser-Kompatibilität
Hinweis:
Diese API basiert auf Chromiums chrome.storage API. Diese Dokumentation leitet sich von storage.json im Chromium-Code ab.