JavaScript Пытаюсь получить простой JSON через fetch Данные в файле .json: { "id" : 1, "text": "Отзыв1","approved": false}
Проблема в том что fetch пролетает нигде не задерживаясь и я не могу заполнить переменную data1 данными. Потом (через некоторое время) идут обратные запросы к блокам then и данные заполняются.
Подскажите пожалуйста - как дождаться окончания работы fetch? Т.е. я хочу положить запрошенные данные в переменную data1
console.log('fetch');
var data1;
fetch('fetch2.json')
.then(function(response) {
console.log(response.headers.get('Content-Type'));
console.log(response.status);
return response.json();
// if (response.status >= 200 && response.status < 300) {
// return response.json();
// } else {
// return Promise.reject(new Error(response.statusText))
// }
})
.then(function(data_json) {
console.log(data_json.text);
data1=data_json;
})
;
// .catch(err => console.error(err));
console.log('111111111111111');
console.log(data1);
Основная идея-создается Promice: function getResult(N) { return new Promise
Использование результата осуществляется через вызов then getResult(42).then(function (result) { someDiv.textContent = result; });
Тогда получается fetch (возвращает Promice) в том виде как я ее написал должна выдавать значение - а она не выдает и проваливается дальше.
Почему ?
– Gayrat Vlasov Jul 04 '18 at 14:57Но не помогло.
var json1; async function getjson() { const response = await fetch('fetch2.json'); json1= await response.json(); console.log(json1.id); }
– Gayrat Vlasov Jul 05 '18 at 06:21