Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.05.2023, 22:21
Аспирант
Отправить личное сообщение для Neznayka Посмотреть профиль Найти все сообщения от Neznayka
 
Регистрация: 08.03.2013
Сообщений: 37

Обработка результата запроса fetch
Всем привет.

Если такой рабочий код:
fetch(url, options)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));

но нужно как-то обработать результат, по типу:
fetch(url, options)
.then(response => response.json())
.then(function(result) {
	for (var i=0; i < result.length; i++) {
		console.log(result[i]);
	}
})
.catch(error => console.log("error", error));


это не правильно и не знаю, как в этом стандарте оформить этот код обработки результата, подскажите пжл.
Ответить с цитированием
  #2 (permalink)  
Старый 25.05.2023, 22:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,145

Сообщение от Neznayka
это не правильно
почему?
может так для вас проще будет
<script>
"use strict";

(async () => {
let url = '...';
let response = await fetch(url);
let result = await response.json();
for (let item of result) {console.log(item)};
})()
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 25.05.2023, 22:54
Аспирант
Отправить личное сообщение для Neznayka Посмотреть профиль Найти все сообщения от Neznayka
 
Регистрация: 08.03.2013
Сообщений: 37

Сообщение от рони Посмотреть сообщение
почему?
может так для вас проще будет
<script>
"use strict";

(async () => {
let url = '...';
let response = await fetch(url);
let result = await response.json();
for (let item of result) {console.log(item)};
})()
</script>
начинает падать ошибка:
Uncaught SyntaxError: await is only valid in async functions and the top level bodies of module

upd: все заработало в итоге.

Последний раз редактировалось Neznayka, 25.05.2023 в 23:05.
Ответить с цитированием
  #4 (permalink)  
Старый 25.05.2023, 23:05
Аспирант
Отправить личное сообщение для Neznayka Посмотреть профиль Найти все сообщения от Neznayka
 
Регистрация: 08.03.2013
Сообщений: 37

рони,
Спасибо, разобрался, в предыдущем сообщении сам натупил.
Ответить с цитированием
  #5 (permalink)  
Старый 26.05.2023, 09:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,257

Сообщение от Neznayka
function(result) {
    for (var i=0; i < result.length; i++) {
        console.log(result[i]);
    }
}
Вот это вот все можно вынести во "внешнюю" функцию...
Тогда будет вообще вот так

fetch(url, options)
.then(response => response.json())
.then(test)
.catch(error => console.log("error", error));
//
function test(result) {
	for (var i=0; i < result.length; i++) {
		console.log(result[i]);
	}
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение функции после выдачи результата AJAX запроса polearmik AJAX и COMET 2 22.04.2017 14:48
Обработка результата Ajax запроса bwolf33 Элементы интерфейса 5 20.02.2014 11:25
Неверная обработка ajax запроса в chrome. Реализация анимации загрузки chiffenok AJAX и COMET 0 29.07.2013 09:02
Обработка данных во время AJAX запроса user783 AJAX и COMET 5 09.12.2011 03:24
Как приостановить выполнение скрипта до получения результата AJAX запроса? Хиросим AJAX и COMET 9 31.10.2011 10:56