Получить массив из localstorage

#jquery #google-chrome #local-storage

#jquery #google-chrome #локальное хранилище

Вопрос:

Я пытаюсь извлечь массив черного списка из опций расширения Chrome, которое я создаю. Код для сохранения работает просто отлично. Однако, когда я пытаюсь загрузить информацию, я не могу добраться до нее.

 chrome.storage.local.get('value', function (result) {
var BlackList = result.value.split(",");});
  

По какой-то причине остальная часть скрипта не может получить доступ к переменной BlackList.

Комментарии:

1. Как доступ к переменной имеет отношение к локальному хранилищу? Если вы замените 2-ю строку на var BlackList = ['just', 'an', 'array']; — будет ли у «остальной части скрипта» доступ к нему? PS: имеет смысл использовать некоторые надежные механизмы сериализации (например, json) вместо того, чтобы изобретать что-то новое.

2. Вы объявили свою BlackList переменную внутри функции обратного вызова, поэтому она локальна для этой функции .

3. Похоже chrome.storage , что API является асинхронным, поэтому «остальная часть скрипта» должна выполняться после обратного вызова.

4. @numbers1311407: даже если он был синхронным — это все равно другая область.

5. Не имел в виду, что это не так, просто означало, что определение переменной за пределами этой области и вызов get как написано ничего не решат.