PROG_WAY_BLOG Telegram 183
Синтаксис async/await

В продолжение к посту о Promise, крайне актуально разобрать ещё один метод работы с асинхронным кодом, а именно — синтаксис async/await.

Ничего страшного и сложного, это такой же способ обработки асинхронных операций, только синтаксически он выглядит иначе.

По сути, async/await — это синтаксический сахар над промисами, который позволяет делать код более читаемым. Этот синтаксис не приносит ничего нового, а лишь упрощает работу с промисами.

Для того, чтобы разобраться, предлагаю пример запроса на сервер:

const data = fetch(`https:/some.api.com/users`)
.then(response => {
return response.json()
})
.then(users => {
return users.map(...)
})


Перепишем то же самое с использованием нового синтаксиса. Причём, обратите внимание, что ключевое слово await работает только в функциях, объявленных с помощью ключевого слова async, поэтому обернём запрос данных в функцию:

const getData = async () => {
const response = await fetch('...')
const users = await response.json()
return users.map(...)
}

const data = getData()


Есть определённое ощущение, что код менее перегружен и выглядит проще, не так ли?

Причём важно помнить, что можно использовать обычные методы then, catch и другие даже в синтаксисе async/await, то есть следующий код абсолютно валидный:

const getData = async () => {
// можем вызвать then у fetch, т.к.
// fetch - это тоже промис
const users = await fetch('...').then(res => res.json())
return users.map(...)
}

const data = getData()


Крайне советую использовать обновлённый синтаксис, поскольку такой код проще рефакторить и читать, но и не забывайте о обычных промисах. Ну пожалуйста 🥲

Спасибо за прочтение, это важно для меня ❤️

#web #theory #javascript
41👍15🔥7🐳3💯2🗿1



tgoop.com/prog_way_blog/183
Create:
Last Update:

Синтаксис async/await

В продолжение к посту о Promise, крайне актуально разобрать ещё один метод работы с асинхронным кодом, а именно — синтаксис async/await.

Ничего страшного и сложного, это такой же способ обработки асинхронных операций, только синтаксически он выглядит иначе.

По сути, async/await — это синтаксический сахар над промисами, который позволяет делать код более читаемым. Этот синтаксис не приносит ничего нового, а лишь упрощает работу с промисами.

Для того, чтобы разобраться, предлагаю пример запроса на сервер:

const data = fetch(`https:/some.api.com/users`)
.then(response => {
return response.json()
})
.then(users => {
return users.map(...)
})


Перепишем то же самое с использованием нового синтаксиса. Причём, обратите внимание, что ключевое слово await работает только в функциях, объявленных с помощью ключевого слова async, поэтому обернём запрос данных в функцию:

const getData = async () => {
const response = await fetch('...')
const users = await response.json()
return users.map(...)
}

const data = getData()


Есть определённое ощущение, что код менее перегружен и выглядит проще, не так ли?

Причём важно помнить, что можно использовать обычные методы then, catch и другие даже в синтаксисе async/await, то есть следующий код абсолютно валидный:

const getData = async () => {
// можем вызвать then у fetch, т.к.
// fetch - это тоже промис
const users = await fetch('...').then(res => res.json())
return users.map(...)
}

const data = getData()


Крайне советую использовать обновлённый синтаксис, поскольку такой код проще рефакторить и читать, но и не забывайте о обычных промисах. Ну пожалуйста 🥲

Спасибо за прочтение, это важно для меня ❤️

#web #theory #javascript

BY progway — программирование, IT


Share with your friend now:
tgoop.com/prog_way_blog/183

View MORE
Open in Telegram


Telegram News

Date: |

The channel also called on people to turn out for illegal assemblies and listed the things that participants should bring along with them, showing prior planning was in the works for riots. The messages also incited people to hurl toxic gas bombs at police and MTR stations, he added. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. Unlimited number of subscribers per channel But a Telegram statement also said: "Any requests related to political censorship or limiting human rights such as the rights to free speech or assembly are not and will not be considered."
from us


Telegram progway — программирование, IT
FROM American