У меня есть задача, в ней есть строка которую я не совсем могу понять, разъясните мне пожалуйста следующее.
await (await (await fetch ('https://jsonplaceholder.typicode.com/todos/1')).json())
Я понимаю так: fetch
это асинхронный запрос, await
это ожидание выполнения какого-то асинхронного действия. вопрос зачем усложнять написанием 3ех await
?
p.s:
я проверял так-же работает если убрать один await
await (await fetch ('https://jsonplaceholder.typicode.com/todos/1')).json()
Чтобы разобраться с одной строкой, ее нужно разбить на несколько:
вызов fetch
, возвращает Promise
, который разрешается при получении ответа
var response = await fetch(...)
вызов json
, возвращает Promise
, который разрешается, при чтении тела ответа и разбора его в json
var json = await response.json();
json
- это объект, поэтому нет нужды использовать третий await
Рабочий пример
// await используется только в async функциях
(async () => {
// возвращает https://developer.mozilla.org/ru/docs/Web/API/Response
const response = await fetch('https://jsonplaceholder.typicode.com/todos/1')
// вызывает метод Response, точнее миксина Body https://developer.mozilla.org/ru/docs/Web/API/Body
const json = await response.json()
// json - это все что может быть json: объект, массив, строка, число...
console.log(json)
})()
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть фото галерея, она отображает 5 элементов, остальные скрыты при помощи свойства overflow : hiden, вопрос: как можно сделать подсчет и вывод числа...
Передаю с помощью шаблонизатора Jinja, данные из Django в JavaScriptКод выглядит примерно так: