Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π² систСмС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ связана с Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ измСнСния Π² Π΄Π°Π½Π½Ρ‹Ρ…. ИмСнно для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ для создания ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘Π΅Π· Π½ΠΈΡ… систСма Π±Ρ‹Π»Π° Π±Ρ‹ статичной ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ сущСствуСт нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ситуации: ΠΎΡ‚ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π΄ΠΎ сохранСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΠΏΡƒΡ‚Π°ΡŽΡ‚ контСксты выполнСния, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сСрвСрный ΠΊΠΎΠ΄ Ρ‚Π°ΠΌ, Π³Π΄Π΅ выполняСтся клиСнтский, ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ создания ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, особСнности синтаксиса ΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

РассматриваСмыС Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ для послСдних Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° события Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС тяТСлых вычислСний Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ «зависанию» интСрфСйса ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ….

АрхитСктура событий Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘

ВсС события Π² экосистСмС 1Π‘ ΠΌΠΎΠΆΠ½ΠΎ глобально Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ большиС Π³Ρ€ΡƒΠΏΠΏΡ‹: клиСнтскиС ΠΈ сСрвСрныС. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ события Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π½Π° сторонС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мСста ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ связаны с интСрфСйсом, Π²Π²ΠΎΠ΄ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ. Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ события происходят Π½Π° сторонС сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, записи Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Ρƒ ΠΈ слоТной бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ. Π§Π΅Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ этих Π·ΠΎΠ½ критичСски Π²Π°ΠΆΠ½ΠΎ для бСзопасности ΠΈ быстродСйствия.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ подписки Π½Π° события Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Β«Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒΒ». ΠžΠ±ΡŠΠ΅ΠΊΡ‚, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ событиС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚), увСдомляСт всСх подписчиков ΠΎ наступлСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ создаСт ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, которая автоматичСски вызываСтся систСмой. Π’Π½ΡƒΡ‚Ρ€ΠΈ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ стандартного процСсса, ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ дСйствиС ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ расчСты.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сСрвСрный запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· клиСнтского ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события Π±Π΅Π· использования асинхронных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния. ВсСгда провСряйтС контСкст выполнСния ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄ написаниСм Π»ΠΎΠ³ΠΈΠΊΠΈ.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ понятиС ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… событий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ встроСны Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. НапримСр, Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π΅ΡΡ‚ΡŒ события ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ ΠΈ ΠŸΠΎΡΠ»Π΅Π—Π°ΠΏΠΈΡΠΈ. Π£ Ρ„ΠΎΡ€ΠΌΡ‹ Π΅ΡΡ‚ΡŒ события ΠŸΡ€ΠΈΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΈ ΠŸΡ€ΠΈΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅. КаТдоС ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ свой строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄Π° сдСлаСт Π΅Π³ΠΎ Π½Π΅Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ автоподстановку ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅: ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ события систСма сама ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π­Ρ‚ΠΎ сэкономит врСмя ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ синтаксичСскиС ошибки.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий Ρ„ΠΎΡ€ΠΌΡ‹

Π Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ€ΠΌΠΎΠΉ β€” это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частая Π·Π°Π΄Π°Ρ‡Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° интСрфСйсов. Бобытия Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ»Π΅ΠΉ, Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° начинаСтся с открытия Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Ρ„ΠΎΡ€ΠΌΡ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора ΠΈΠ»ΠΈ Π² ΠΎΠΊΠ½Π΅ свойств элСмСнта.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ Π½Π° дСйствиС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Бобытия» Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ свойств Ρ„ΠΎΡ€ΠΌΡ‹. Π—Π΄Π΅ΡΡŒ прСдставлСн ΠΏΠΎΠ»Π½Ρ‹ΠΉ список доступных Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ². Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ события зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ: Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠ½Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ событиС ΠŸΡ€ΠΈΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅. Если ΠΆΠ΅ трСбуСтся рСакция Π½Π° ΠΊΠ»ΠΈΠΊ ΠΌΡ‹ΡˆΠΈ, выбираСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ событиС элСмСнта управлСния.

ПослС Π²Ρ‹Π±ΠΎΡ€Π° события Π² спискС систСма автоматичСски создаст Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹. Имя ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ формируСтся ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Π˜ΠΌΡΠ€ΠΎΡ€ΠΌΡ‹_Π˜ΠΌΡΠ‘ΠΎΠ±Ρ‹Ρ‚ΠΈΡ. Π’Π½ΡƒΡ‚Ρ€ΠΈ этого Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹, элСмСнтам Π΄Π΅ΠΊΠΎΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.

  • πŸ–±οΈ НаТатиС: Π Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΊΠ»ΠΈΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΈΠ»ΠΈ полю Π²Π²ΠΎΠ΄Π°.
  • πŸ“ ИзмСнСниС: Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ сразу послС измСнСния значСния Π² ΠΏΠΎΠ»Π΅ рСдактирования.
  • πŸ‘οΈ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅: ВыполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΊΠ½Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΊΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.
  • πŸ”’ Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π² зависимости ΠΎΡ‚ ΠΏΡ€Π°Π² доступа.

Рассмотрим практичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ автоматичСски Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Β«Π”Π°Ρ‚Π°Β» Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. ΠœΡ‹ пишСм ΠΊΠΎΠ΄ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠŸΡ€ΠΈΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Однако для простых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ клиСнтский контСкст для экономии рСсурсов сСрвСра.

πŸ“Š Какой Ρ‚ΠΈΠΏ событий Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ события Ρ„ΠΎΡ€ΠΌΡ‹
Бобытия модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ события систСмы
Бобытия Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° являСтся сСрдцСм любой сущности Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 1Π‘. ИмСнно здСсь описываСтся ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, справочника ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½Π° счСтов. Бобытия модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ строго Π½Π° сСрвСрС, Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ соблюдСниС транзакционности. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ мСсто для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ критичСской бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ событиСм здСсь являСтся ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ. Оно вызываСтся ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ зафиксированы Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этом ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ провСсти Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Π΅ суммы, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ запись ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ошибок. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ этого события Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ€Π΅ΠΆΠΈΠΌ записи ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ событиСм являСтся ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠ΅ для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Оно ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ рСгистрам. Ошибки Π² этом мСстС ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ провСдСтся, Π½ΠΎ двиТСния Π½Π΅ создадутся, ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π΄Π°Π½Π½Ρ‹Π΅ Π² рСгистрах Π±ΡƒΠ΄ΡƒΡ‚ искаТСны. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ΄ здСсь Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ максимально ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ протСстирован.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ событии ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ нСльзя Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ этот ΠΊΠΎΠ΄ выполняСтся Π½Π° сСрвСрС, Π³Π΄Π΅ Π½Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ сСанса.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Если Π² процСссС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ критичСская ошибка, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π΅Π³ΠΎ систСмС, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Ρ€Π²Π΅Ρ‚ запись ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π­Ρ‚ΠΎ стандартный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π² сСрвСрном ΠΊΠΎΠ΄Π΅ 1Π‘.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ основныС события модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ НазначСниС
ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ Π‘Π΅Ρ€Π²Π΅Ρ€ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм
ΠŸΠΎΡΠ»Π΅Π—Π°ΠΏΠΈΡΠΈ Π‘Π΅Ρ€Π²Π΅Ρ€ ДСйствия послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ сохранСния (ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ)
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π‘Π΅Ρ€Π²Π΅Ρ€ Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ рСгистрам
ΠŸΡ€ΠΈΠ§Ρ‚Π΅Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅ Π‘Π΅Ρ€Π²Π΅Ρ€ ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… сразу послС чтСния ΠΈΠ· Π‘Π”

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ записью Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Подписка Π½Π° события Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€

Помимо встраивания ΠΊΠΎΠ΄Π° нСпосрСдствСнно Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ„ΠΎΡ€ΠΌ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ глобальной подписки Π½Π° события. Π­Ρ‚ΠΎ позволяСт Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° события, происходящиС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ). ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… «Подписки Π½Π° события».

Для создания подписки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΉΡ‚ΠΈ Π²Π΅Ρ‚ΠΊΡƒ Β«ΠžΠ±Ρ‰ΠΈΠ΅Β» ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ «Подписки Π½Π° события». Π”ΠΎΠ±Π°Π²ΠΈΠ² Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ список всСх доступных событий систСмы. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ событиС ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ событий. Π—Π°Ρ‚Π΅ΠΌ указываСтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° события Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π²Ρ‹Π·Π²Π°Π²ΡˆΠΈΠΉ событиС. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ привСсти этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТным для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

ИспользованиС подписок особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. Π’Ρ‹ Π½Π΅ мСняСтС исходный ΠΊΠΎΠ΄ основной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π° лишь Β«Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅Β» свою Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠΎΠ²Π΅Ρ€Ρ… стандартных процСссов. ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ваши подписки ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли структура событий Π½Π΅ измСнилась Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

ВлияниС подписок Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

КаТдая активная подписка Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΊΠΎΠ΄Π°. Если Ρƒ вас сотни подписок Π½Π° часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ события (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΡ€ΠΈΠ§Ρ‚Π΅Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅), это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ подписки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ основной ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного взаимодСйствия

Одной ΠΈΠ· самых слоТных Ρ‚Π΅ΠΌ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром. Бобытия Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΎΠ±ΠΎΠΈΡ… контСкстах, Π½ΠΎ события модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС. Если Π² клиСнтском ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±Π°Π·Ρ‹, Π²Ρ‹ обязаны ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ асинхронных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ сСрвСра ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ сразу ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС ΠΊΠΎΠ΄Π°. ВмСсто этого Π²Ρ‹ создаСтС описаниС асинхронного Π²Ρ‹Π·ΠΎΠ²Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΈ систСма сама Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ этот ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ с сСрвСра.

Для обозначСния контСкста выполнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅, &НаБСрвСрС, &ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅Π‘Π΅Π·ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π°. Если Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, систСма пытаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ контСкст автоматичСски, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСпрСдсказуСмым Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ. Π―Π²Π½ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ контСкста β€” ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ качСствСнного ΠΊΠΎΠ΄Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· сСрвСра Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ асинхронного Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΡΠ΅Ρ‚ΡŒ. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΈΠ»ΠΈ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ асинхронного Π²Ρ‹Π·ΠΎΠ²Π°. Допустим, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ адрСс с сСрвСра. Π’ клиСнтском ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события ИзмСнСниС ΠΌΡ‹ создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ имя ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, которая ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. БСрвСрная функция выполняСт запрос ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ структуру Π΄Π°Π½Π½Ρ‹Ρ….


&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ = Новый ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ("ΠΠ΄Ρ€Π΅ΡΠŸΠΎΠ»ΡƒΡ‡Π΅Π½", Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚);

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠžΠΆΠΈΠ΄Π°Π½ΠΈΡ(ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ, 0, Π˜ΡΡ‚ΠΈΠ½Π°);

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΠ΄Ρ€Π΅ΡΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°(ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚, ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ);

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

&НаБСрвСрС

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΠ΄Ρ€Π΅ΡΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°(Бсылка, ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ)

// Запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…

АдрСс =..;

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒΠ˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Новый ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ(ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ, АдрСс);

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий Ρ€Π΅Π΄ΠΊΠΎ обходится Π±Π΅Π· ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π’ срСдС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ встроСн ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠΎ шагам, ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события систСма ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ строки ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

Частой ошибкой являСтся бСсконСчная рСкурсия. Π­Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события ИзмСнСниС снова Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ это ΠΆΠ΅ событиС. НапримСр, Π²Ρ‹ мСняСтС ΠΏΠΎΠ»Π΅ Β«Π‘ΡƒΠΌΠΌΠ°Β», Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ пСрСсчитываСтС «НДБ», Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ «НДБ» снова запускаСт пСрСсчСт Β«Π‘ΡƒΠΌΠΌΡ‹Β». Для прСдотвращСния этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„Π»Π°Π³ΠΈ-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ события Π½Π° врСмя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” потСря контСкста. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² асинхронный Π²Ρ‹Π·ΠΎΠ² ΠΈΠ»ΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ подписки Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ пСрСдаСтся. Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ· сСрвСрного модуля, Ρ‡Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сСрвСр Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡƒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

  • πŸ”„ РСкурсия: Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ зацикливания.
  • 🚫 Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ: Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² событиях записи ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • ⚑ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ тяТСлых запросов Π² событиях, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши.

Для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ тСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–). Он позволяСт Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ события ΠΈ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Β«ΡƒΠ·ΠΊΠΈΠ΅ мСста». Если событиС ΠŸΡ€ΠΈΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ выполняСтся 5 сСкунд, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄Π°ΠΆΠ΅ Ссли ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π»Π΅Ρ‚Π°ΡŽΡ‚.

πŸ’‘

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: выполняйтС тяТСлыС вычислСния ΠΈ запросы ΠΊ Π±Π°Π·Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ нСобходимости. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ интСрфСйс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ Π² Π»ΡŽΠ±ΡƒΡŽ сСкунду Ρ€Π°Π±ΠΎΡ‚Ρ‹.

МоТно Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, Π±Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π°?

Π”Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ динамичСского создания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ДСйствиС (Action). Однако Π² Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ 1Π‘ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ статичСскоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· свойства ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅ ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ событиями Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ событиями модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°?

Бобытия Ρ„ΠΎΡ€ΠΌΡ‹ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² интСрфСйсС (клиСнтский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ). Бобытия модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° измСнСния состояния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅ (сСрвСрный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ). Π€ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π±Π°Π·Π΅ останСтся.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Π½Π΅ срабатываСт?

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ подписки Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции (&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅/&НаБСрвСрС) ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ мСсту Π²Ρ‹Π·ΠΎΠ²Π°, ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π»ΠΈ событиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС ΠΊΠΎΠ΄Π°.

Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события?

Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° опрСдСляСтся ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ) ΠΈΠ»ΠΈ сохраняйтС Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ события.