У меня есть класс, который получает данные из API и возвращает массив.
В файле, который я называю так:
let defaultMenu2 = '';
import GetCategories from '../constants/tabs';
GetCategories.renderTabs().then((response) => {
console.log(response);
defaultMenu2 = response;
});
console.log('response----------' + defaultMenu2);
console.log отлично отображает массив (в консоли), но переменная "defaultMenu2" всегда пуста.
Кто-нибудь знает, что я делаю не так?
Заранее спасибо!
Может кто-нибудь объяснить, как сохранить переменные, определенно не понимая, почему я не могу перезаписать переменную или объект ...
попробовал это:
let tabs2 = new Object();
GetCategories.renderTabs().then((response) => {
//console.log(response);
tabs2 = response;
alert('number 1 response #########'+JSON.stringify(tabs2));
});
alert('response#########' + JSON.stringify(tabs2));
"ответ № 1 # ######## "предупреждение прекрасно отображает то, что мне нужно, но другое предупреждение" ##### "- пустой объект.
Есть файл вкладок. js с данными:
экспорт вкладок по умолчанию = {сделок: [{id: 'communityPartner', название: 'Community Partner13 '}, {id:' localBusiness ', title:' Local Business '}, {id:' nonProfit ', title:' Non Profit '}, {id:' help ', title:' Help '}, {id: 'волонтер', название: 'Волонтер'}, {id: 'студент', название: 'Студент'}, {id: 'thankYou', название: 'Спасибо'},],};
Появились новые вкладки файлов 2. js с вызовом API для реальных данных:
const APItabs = 'https://.........tabs.json';
экспорт класса по умолчанию GetCategories {stati c renderTabs = asyn c () => {tabsArrayholder = []; возвращать await fetch (APItabs) .then ((response) => response. json ()) .then ((response Json) => {tabsArrayholder = responseJson; вернуть tabsArrayholder;}) .catch ((ошибка) = > {console.error (error);}); }; }
В файле Screens. js есть вызов вкладок. js (фиктивные данные):
импорт вкладок из '../constants / tabs ';
, чем данные отображаются как tabs.deals .... без проблем.
Я добавил tabs2. js на экраны. js (как только он начнет работать, он должен заменить вкладки ...
let tabs2 = new Object (); импортировать GetCategories from '. ./constants/tabs2';
GetCategories.renderTabs (). then ((response) => {tabs2 = response; alert ('number 1 response #########' + JSON .stringify (tabs2));});
alert ('response #########' + JSON .stringify (tabs2));
Мое намерение состояло в том, чтобы переименовать tabs2 в tabs ... так что весь код впоследствии будет таким же.
Проблема в том, что я думаю, что код ниже GetCategories.renderTabs () .... отображается перед тем это воспроизведение из GetCategories.renderTabs () ....