StorageArea.get()
Извлекает один или несколько элементов из области хранения.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
Параметры
keys-
Ключ (
string) или ключи (массив строк или объект, определяющий значения по умолчанию) для идентификации элемента(ов) для извлечения из хранилища. Если вы передадите пустой объект или массив, будет извлечён пустой объект. Если вы передадитеnull, или неопределённое значение, будут извлечены все содержимое хранилища.
Возвращаемое значение
A Promise , который разрешается в объект results, содержащий каждый объект в keys, который был найден в области хранения. Если keys является объектом, ключи, которых нет в области хранения, будут иметь значения, заданные объектом keys.
Если операция завершилась неудачно, обещание отклоняется с сообщением об ошибке.
Если управляемое хранилище не установлено, будет возвращено undefined.
Предупреждение: При использовании внутри скрипта контента в версиях Firefox до 52 обещание, возвращаемое browser.storage.local.get(), выполняется с массивом, содержащим один объект. Объект в массиве содержит keys , найденный в области хранения, как описано выше.
Обещание правильно выполняется с объектом при использовании в контексте фонового процесса (фоновые скрипты, всплывающие окна, страницы настроек и т. д.).
Когда этот API используется как chrome.storage.local.get(), он правильно передаёт объект в функцию обратного вызова.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
get |
Да | 14 | 45 | ? | 33 | 14 | ? | ? | 48 | ? | 15 | ? |
empty_key |
Да | 14 | 45 | ? | 33 | Нет | ? | ? | 48 | ? | Нет | ? |
Примеры
Предположим, хранилище содержит два элемента:
// storage contains two items, // "kitten" and "monster" browser.storage.local.set({ kitten: {name:"Mog", eats:"mice"}, monster: {name:"Kraken", eats:"people"} });
Определите обработчики успешного и неудачного выполнения обещания:
function onGot(item) { console.log(item); } function onError(error) { console.log(`Error: ${error}`); }
Без аргумента keys, извлеките всё:
let gettingItem = browser.storage.local.get(); gettingItem.then(onGot, onError); // -> Object { kitten: Object, monster: Object }
С пустым аргументом keys, ничего не верните:
// with an empty array, retrieve nothing let gettingItem = browser.storage.local.get([]); gettingItem.then(onGot, onError); // -> Object { }
С именем объекта, извлеките совпадение:
let gettingItem = browser.storage.local.get("kitten"); gettingItem.then(onGot, onError); // -> Object { kitten: Object }
С массивом имён объектов, извлеките все совпадения:
let gettingItem = browser.storage.local.get(["kitten", "monster", "grapefruit"]); gettingItem.then(onGot, onError); // -> Object { kitten: Object, monster: Object }
С объектом, где имена объектов – ключи, а значение по умолчанию – значение:
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
chrome.storage.local.get("kitten", (items) => { console.log(items.kitten); // -> {name:"Mog", eats:"mice"} });
Или с функцией стрелкой
chrome.storage.local.get("kitten", (items) => { console.log(items.kitten); // -> {name:"Mog", eats:"mice"} });
Или с использованием Promise
let gettingItem = new Promise((resolve) => chrome.storage.local.get("kitten", resolve)); gettingItem.then(onGot); // -> Object { kitten: Object }
Примечание: Этот API основан на API хранилища chrome.storage Chromium. Данная документация взята из storage.json в коде Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/get