StorageArea.get()
Ruft ein oder mehrere Elemente aus dem Speicherbereich ab.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
Parameter
keys
-
Ein Schlüssel (
string
) oder Schlüssel (ein Array von Strings oder ein Objekt, das Standardwerte angibt), um das/die Element(e) zu identifizieren, das/die aus dem Speicher abgerufen werden soll(en). Wenn Sie hier ein leeres Objekt oder Array übergeben, wird ein leeres Objekt abgerufen. Wenn Sienull
oder einen undefinierten Wert übergeben, werden die gesamten Speicherinhalte abgerufen.
Rückgabewert
Ein Promise
, das sich zu einem results
-Objekt auflöst, das ein Schlüssel-Wert-Paar für jeden in keys
gefundenen Schlüssel im Speicherbereich enthält. Wenn keys
ein Objekt ist, nimmt jeder in Speicher nicht gefundene Schlüssel den Standardwert aus dem keys
-Objekt an.
Wenn der Vorgang fehlschlägt, wird das Promise mit einer Fehlermeldung abgelehnt.
Wenn der verwaltete Speicher nicht gesetzt ist, wird undefined
zurückgegeben.
Warnung:
In Firefox wird eine Ausnahme ausgelöst, wenn der verwaltete Speicher einer Erweiterung nicht mit einem nativen Manifest oder unter Verwendung der 3rdparty
Unternehmenseinstellungen konfiguriert wurde und diese Funktion zum Zugriff auf verwalteten Speicher verwendet wird (siehe Firefox-Bug 1868153). Dieses Problem kann vermieden werden, indem Sie den Fehler abfangen. Dieses Problem steht im Zusammenhang mit dem Mangel an Unterstützung für den storage.managed_schema
Manifest-Schlüssel (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 Fehlerhandler 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 ist abgeleitet von storage.json
im Chromium-Code.