Я борюсь с проблемой при сборе данных из хранилища.У меня есть слушатель события onMessage в фоновом скрипте, ожидающий определенного события.Если это событие получено - мне нужно собрать некоторые данные из storageArea и затем отправить их в скрипт контента.Моя проблема заключается в том, что мне нужно подождать, пока эти данные будут собраны (успешно или нет), и только затем продолжить и отправить данные.Если я пытаюсь отправить его из коллбэка storageArea - мой контент-скрипт ничего не получает.Если я просто продолжу -> скрипт продолжится и не будет ждать сбора данных, и снова мой скрипт контента не получит ничего.Ниже приведен псевдокод, иллюстрирующий мою проблему:
browser.runtime.onMessage.addListener(function(request, sender, sendResponse) {
//get the data from the storageArea
var storageData = {};
browser.storage.local.get("myData", function (data) {
//modify storageData here
});
//send response ONLY when the data is finished loading(successfully or not)
sendResponse(storageData);
});
Итак, мой вопрос: как я могу дождаться сбора данных и только затем продолжить?Может быть, мне не следует ждать события, и я должен создать какие-то «цепочки событий» или обратные вызовы?Я пока не уверен, как это организовать.Большое спасибо за помощь, ребята!