(я думаю, что это проблема с обратным вызовом, но я не совсем уверен)
У меня есть функция, которая хочет получать данные со всех вкладок. Похоже:
function retrieveData(callback) {
getAllTabs(function(openedTabs) {
for(var t=0; t<openedTabs.length; t++) {
//get data from this tab
}
});
//log(look at updated data)
}
function getAllTabs(callback) {
if(callback) {
chrome.windows.getAll({populate: true}, function(windows) {
//get tabs from windows; callback(tabs)
});
}
}
Моя проблема не в том, что я не получаю данные с вкладок. Это отлично работает. Дело в том, что если я вызываю retrieveData, функции выполняются в порядке s.t. Я не получаю данные до тех пор, пока я не покину функцию retrieveData, то есть, если я посмотрю на свои данные прямо там, где этот оператор журнала находится в getAllTabs, обновлений не будет.
Как это исправить, чтобы данные были в последовательном порядке?