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 abzurufende(n) Element(e) im Speicher zu identifizieren. 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 zu einem results
-Objekt aufgelöst wird, 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 Schlüssel, der im Speicher nicht gefunden wird, den Standardwert aus dem keys
-Objekt an.
Wenn der Vorgang fehlschlägt, wird das Promise mit einer Fehlermeldung abgelehnt.
Wenn verwalteter Speicher nicht gesetzt ist, wird undefined
zurückgegeben.
Warnung:
In Firefox wird, wenn der verwaltete Speicher einer Erweiterung nicht mit einem nativen Manifest oder mit der Verwendung der 3rdparty
Unternehmensrichtlinie konfiguriert wurde, eine Ausnahme ausgelöst, wenn diese Funktion zum Zugriff auf den verwalteten Speicher verwendet wird (siehe Firefox-Fehler 1868153). Dieses Problem kann vermieden werden, indem der Fehler abgefangen wird. Dieses Problem steht im Zusammenhang mit dem fehlenden Support für den storage.managed_schema
Manifest-Schlüssel (siehe Firefox-Fehler 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 das passende Element abrufen:
let gettingItem = browser.storage.local.get("kitten");
gettingItem.then(onGot, onError);
// -> Object { kitten: Object }
Mit einem Array von Objektnamen alle passenden Elemente 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
BCD tables only load in the browser
Hinweis:
Diese API basiert auf der Chromium-API chrome.storage
. Diese Dokumentation stammt aus storage.json
im Chromium-Code.