>There are only two kinds of languages: the ones people complain about and the ones nobody uses.

наткнулся я тут на дивную статью — "How to escape async/await hell", если коротко, то чувак говорит что данный код не оптимальный:

 await smth1();

await smth2();

и мол можно еще писать вот так —

 Promise.all([smth1(), smth2()])

и у меня в голове прозвучало заветное, — "емана, а что кто-то этого не знал?". так вот, давайте разберемся.

1. async function определяет асинхронную функцию которая возвращает AsyncFunction. AsyncFunction отличается от Function тем, что всегда создается в глобальной области видимости, и при запуске получает доступ только к своим локальным переменным и к глобальным переменным.

2. await можно поместить перед выражением которое возвращает Promise, и только внутри async функции. await впоследствии возвращает полученное из Promise значение. если типом значения, к которому был применен await, является не Promise, то значение приводится к успешно выполненному Promise.

???????

profit.

April 13, 2018
No comments here yet...
Do you want to add a new comment?