Асинхронно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ (пълСн курс)

Асинхронно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ (пълСн курс)

Асинхронното ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ наскоро стана Π½Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΎ ΠΎΡ‚ класичСското ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ Π² свСта Π½Π° JavaSript, ΠΊΠ°ΠΊΡ‚ΠΎ Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠ° ΠΈ Π² Node.js, Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π°Π΅ Π΅Π΄Π½ΠΎ ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π½ΠΈΡ‚Π΅ мСста ΠΏΡ€ΠΈ оформянСто Π½Π° ΠΌΠΈΡ€ΠΎΠ³Π»Π΅Π΄Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ холистичСн ΠΈ Π½Π°ΠΉ-пълСн курс с обяснСниС Π½Π° всички ΡˆΠΈΡ€ΠΎΠΊΠΎ разпространСни ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° асинхронно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ тях ΠΈ спомагатСлни ΠΎΡ‚Π²ΠΎΡ€ΠΈ. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ 23 Π»Π΅ΠΊΡ†ΠΈΠΈ, 3 Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΈ 28 Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° с ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° ΠΊΠΎΠ΄ Π² github. ΠžΠ±Ρ‰ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 17 часа Π²ΠΈΠ΄Π΅ΠΎ: Π²Ρ€ΡŠΠ·ΠΊΠ° към плСйлист.

ОбяснСниС Π½Π° схСмата

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° (ΠΏΠΎ-Π³ΠΎΡ€Π΅) ΠΏΠΎΠΊΠ°Π·Π²Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с асинхронност. Π¦Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ сС отнасят Π·Π° асинхронно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, Π° Ρ‡Π΅Ρ€Π½ΠΎ-бяло ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ (сСмафори, мутСкси, Π±Π°Ρ€ΠΈΠ΅Ρ€ΠΈ ΠΈ Ρ‚.Π½.) ΠΈ ΠΌΡ€Π΅ΠΆΠΈ Π½Π° ΠŸΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° асинхронното ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Π°ΠΊΡ‚ΡŒΠΎΡ€Π°, са Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ изчислСния (Ρ‚Π΅ са Π΄Π°Π΄Π΅Π½ΠΈ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° само Π·Π° ΠΏΠΎ-Ρ‚ΠΎΡ‡Π½ΠΎ опрСдСлянС Π½Π° мястото Π½Π° асинхронното ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅). ΠΠΊΡ‚ΡŒΠΎΡ€ΡΠΊΠΈΡΡ‚ ΠΌΠΎΠ΄Π΅Π» Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ с асинхронното ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ имплСмСнтацията Π½Π° Π°ΠΊΡ‚ΡŒΠΎΡ€ΠΈ Π±Π΅Π· многопоточност ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΎ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅ ΠΈ слуТи Π·Π° структуриранС Π½Π° асинхронСн ΠΊΠΎΠ΄. ΠŸΡƒΠ½ΠΊΡ‚ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π»ΠΈΠ½ΠΈΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ‚Π° опашка с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΈ извиквания, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Π·ΠΈ абстракции сС основават Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΈ извиквания, Π½ΠΎ всС ΠΏΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ качСствСно Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ.

Π›Π΅ΠΊΡ†ΠΈΠΎΠ½Π½ΠΈ Ρ‚Π΅ΠΌΠΈ

1. Асинхронно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ (ΠΎΠ±Ρ‰ ΠΏΡ€Π΅Π³Π»Π΅Π΄)
2. Π’Π°ΠΉΠΌΠ΅Ρ€ΠΈ, изчаквания ΠΈ EventEmitter
3. Асинхронно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΈ извиквания
4. НСблокираща асинхронна итСрация
5. Асинхронност с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° async.js
6. Асинхронност Π½Π° обСщанията
7. Асинхронни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ
8. Асинхронни Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΈ: promisify, callbackify, asyncify
9. Асинхронни ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ
10. НСобработСни Π³Ρ€Π΅ΡˆΠΊΠΈ Π² обСщанията
11. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с асинхронното прослСдяванС Π½Π° стСка
12. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ асинхронни Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ
13. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ асинхронни ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ
14. ΠžΡ‚ΠΌΡΠ½Π° Π½Π° асинхронни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
15. ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ Π½Π° асинхронна функция
16. Π’ΠΎΠ³Π°Π²Π° лСсно ΠΈ Π»Π΅ΠΊΠΎ Ρ‡Π°ΠΊΠ°Π½Π΅
17. Π•Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π° асинхронна опашка
18. ΠžΡ‚Π²ΠΎΡ€Π΅Π½ конструктор Π½Π° шаблон (Π Π°Π·ΠΊΡ€ΠΈΠ²Π°Ρ‰ конструктор)
19. Π‘ΡŠΠ΄Π΅Ρ‰Π΅: Асинхронност Π½Π° Ρ„ΡŽΡ‡ΡŠΡ€ΡΠΈ Π±Π΅Π· ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅
20. ΠžΡ‚Π»ΠΎΠΆΠ΅Π½ΠΎ: Асинхронност Π½Π° Π΄ΠΈΡ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΠΈ със ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅
21. ΠΠΊΡ‚ΡŒΠΎΡ€ ΠΌΠΎΠ΄Π΅Π»
22. ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π» Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° (Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π» + наблюдаСм)
23. Асинхронност Π² RxJS ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ

Под всСки Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏ ΠΈΠΌΠ° Π²Ρ€ΡŠΠ·ΠΊΠΈ към Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΈΡ‚ΠΎ са обяснСни във Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏΠ°. ΠžΠΏΠΈΡ‚Π°Ρ… сС Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ°, Ρ‡Π΅ няма Π½ΡƒΠΆΠ΄Π° всичко Π΄Π° сС свСТда Π΄ΠΎ Π΅Π΄Π½Π° абстракция Π½Π° асинхронността. Няма унивСрсалСн ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към асинхронността ΠΈ Π·Π° всСки случай ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈ позволят Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ ΠΏΠΎ-СстСствСно Π·Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Π·Π°Π΄Π°Ρ‡Π°. Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚ΠΎΠ·ΠΈ курс Ρ‰Π΅ бъдС допълнСн ΠΈ моля всички Π΄Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ Π½ΠΎΠ²ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΈ Π΄Π° допринСсат с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° ΠΊΠΎΠ΄. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° Ρ†Π΅Π» Π½Π° курса Π΅ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ асинхронни абстракции ΠΎΡ‚Π²ΡŠΡ‚Ρ€Π΅, Π° Π½Π΅ просто Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. ΠŸΠΎΡ‡Ρ‚ΠΈ всички абстракции Π½Π΅ са Π²Π·Π΅Ρ‚ΠΈ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π° са Π΄Π°Π΄Π΅Π½ΠΈ Π² Π½Π°ΠΉ-простата ΠΈΠΌ рСализация ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΈΠΌ сС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΡΡ‚ΡŠΠΏΠΊΠ° ΠΏΠΎ ΡΡ‚ΡŠΠΏΠΊΠ°.

Π’ Π°Π½ΠΊΠ΅Ρ‚Π°Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° участват само рСгистрирани ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Π’ΠΏΠΈΡˆΠΈ сС, Моля Ρ‚Π΅.

Какво Π΅ Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π·Π° курса?

  • Π©Π΅ Π³Π»Π΅Π΄Π°ΠΌ цСлия курс

  • Π©Π΅ Π³Π»Π΅Π΄Π°ΠΌ ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅Π»Π½ΠΎ

  • Π•Π΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΈ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½

  • Π©Π΅ допринСса Π·Π° курса

  • НС сС интСрСсувам ΠΎΡ‚ асинхронност

8 ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ гласуваха. 1 ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» сС Π²ΡŠΠ·Π΄ΡŠΡ€ΠΆΠ°.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€