Я не понимаю, почему я не могу сохранить свой ответ на обратный вызов в глобальном состоянии var, которое я определил выше. Я храню его в ответе, но когда я вызываю его снаружи, он всегда возвращает undefined.
const state = {}
const initInfos = async () => {
try {
chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {
const message = {
name: 'loadInfos',
params: tabs[0]
};
Message.send(message, (res) => {
state.result = res.data; // store data in state.result
console.log(state.result) // display response from message
});
});
}
catch (e) {
console.error(`error ${e}`);
}
};
const controller = async () => {
await initInfos();
console.log(state.result); //display undefined
};
['hashchange', 'load'].forEach((e) => window.addEventListener(e, controller));