Ingernirated
@Ingernirated
Романыч

Почему результатом fetch становится Object, а не результат return?

Почему при попытке вывести результат data, выводится [object Promise], а не текст из json?
И как здесь получить res.name?
var data = fetch("ajax.json").then(function(res){
	return res.json();
}).then(function(res) {
	return res.name;
}).catch();
document.write(data);
  • Вопрос задан
  • 507 просмотров
Решения вопроса 2
Потому что так работают Promise.
Ответ написан
Комментировать
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
Потому что это асинхронность. То, что в .then() - выполняется после совершения http запроса. А document.write - до.
Рекомендую почитать учебники.

Ну а еще можно сделать так
(async function() {
  let data = await fetch("ajax.json").then(res => res.json());
  document.write(data);
}());

только работает далеко не везде, babel в помощь
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы