ВСрсия Π½Π° JavaScript Node.js 14.0 ΠΎΡ‚ страна Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°

сС ΡΡŠΡΡ‚ΠΎΡ освобоТдаванС Node.js 14.0,ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ Π·Π° изпълнСниС Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ прилоТСния Π² JavaScript. Node.js 14.0 Π΅ ΠΊΠ»ΠΎΠ½ Π·Π° Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, Π½ΠΎ Ρ‚ΠΎΠ·ΠΈ статус Ρ‰Π΅ бъдС присвоСн Π΅Π΄Π²Π° ΠΏΡ€Π΅Π· ΠΎΠΊΡ‚ΠΎΠΌΠ²Ρ€ΠΈ, слСд стабилизиранС. Node.js 14.0 Ρ‰Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ Π΄ΠΎ Π°ΠΏΡ€ΠΈΠ» 2023Π³. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ LTS ΠΊΠ»ΠΎΠ½ Π½Π° Node.js 12.0 Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄ΠΎ Π°ΠΏΡ€ΠΈΠ» 2022 Π³., Π° ΠΏΡ€Π΅Π΄Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π° LTS ΠΊΠ»ΠΎΠ½ 10.0 Π΄ΠΎ Π°ΠΏΡ€ΠΈΠ» 2021 Π³. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Стапния ΠΊΠ»ΠΎΠ½ 13.x Ρ‰Π΅ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ ΠΏΡ€Π΅Π· юни Ρ‚Π°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°.

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° подобрСния:

  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π½Π°ΡΡ‚ΡŠΠΏΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π΅ стабилизирана диагностични Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ ΠΏΡ€ΠΈ диагностициранСто Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ сривовС, влошаванС Π½Π° производитСлността, ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚, голямо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° процСсора, Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ ΠΈΠ·Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ° ΠΈ Π΄Ρ€.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ СкспСримСнтална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° API Асинхронно Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ с внСдряванСто Π½Π° класа AsyncLocalStorage, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° създаванС Π½Π° асинхронно ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ с ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° извиквания Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ ΠΈ обСщания. AsyncLocalStorage Π²ΠΈ позволява Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΡƒΠ΅Π± заявка, напомняйки Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² нишка Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Π΅Π·ΠΈΡ†ΠΈ.
  • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π·Π° СкспСримСнтална функция ΠΏΡ€ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ECMAScript 6 Π³. ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΈ Скспортирани Ρ‡Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π·Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ ΠΈ СкспортиранС. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ самото внСдряванС Π½Π° ESM ΠΌΠΎΠ΄ΡƒΠ»ΠΈ остава СкспСримСнтално.
  • V8 Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΄ΠΎ вСрсия 8.1 (1, 2, 3), ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π½ΠΎΠ²ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° производитСлността ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ новия логичСски ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π° конкатСнация "??" (Π²Ρ€ΡŠΡ‰Π° дСсния ΠΎΠΏΠ΅Ρ€Π°Π½Π΄, Π°ΠΊΠΎ лСвият ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π΅ NULL ΠΈΠ»ΠΈ Π½Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½, ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ), ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ "?." Π·Π° Π΅Π΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° цялата Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ свойства ΠΈΠ»ΠΈ извиквания (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€œdb?.user?.name?.length” Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ), ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ Intl.DisplayName Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΈ Π΄Ρ€.
  • Π‘Π΅ΡˆΠ΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° рСвизия Π½Π° Streams API, насочСна към подобряванС Π½Π° ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Streams API ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° основнитС части Π½Π° Node.js. НапримСр, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° http.OutgoingMessage Π΅ Π±Π»ΠΈΠ·ΠΊΠΎ Π΄ΠΎ stream.Writable, Π° net.Socket Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° stream.Duplex. ΠžΠΏΡ†ΠΈΡΡ‚Π° autoDestroy Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π½Π° "true" ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° "_destroy" слСд Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ СкспСримСнтална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° API Π‘Π―Π₯ Π›Π˜ (БистСмСн интСрфСйс WebAssembly), осигуряващи софтуСрни интСрфСйси Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ взаимодСйствиС с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма (POSIX API Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, сокСти ΠΈ Π΄Ρ€.).
  • ПовишСни изисквания към ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ вСрсии ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ: macOS 10.13 (High Sierra), GCC 6, Windows ΠΏΠΎ-Π½ΠΎΠ²Π° вСрсия 7/2008R2.

НСка ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Node.js ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° ΡΡŠΡ€Π²ΡŠΡ€Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΡƒΠ΅Π± прилоТСния, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° създаванС Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ клиСнтски ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. Π—Π° Π΄Π° Ρ€Π°Π·ΡˆΠΈΡ€ΠΈΡ‚Π΅ функционалността Π½Π° прилоТСнията Π·Π° Node.js, голям Π±Ρ€ΠΎΠΉ колСкция ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с внСдряванС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° интСграция с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡƒΠ΅Π± Ρ€Π°ΠΌΠΊΠΈ, WebSocket ΠΈ Ajax ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€ΠΈ към Π‘Π£Π‘Π” (MySQL, PostgreSQL, SQLite , MongoDB), машини Π·Π° шаблони, CSS машини, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° криптографски Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ ΠΈ систСми Π·Π° оторизация (OAuth), XML парсСри.

Π—Π° Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° голям Π±Ρ€ΠΎΠΉ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ заявки, Node.js ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° асинхронСн ΠΌΠΎΠ΄Π΅Π» Π·Π° изпълнСниС Π½Π° ΠΊΠΎΠ΄, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° мултиплСксиранС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ epoll, kqueue, /dev/poll ΠΈ select. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° мултиплСксиранС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ libuv, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ надстройка Π½Π°Π΄ Π»ΠΈΠ±Π΅Π² Π½Π° Unix систСми ΠΈ Π½Π°Π΄ IOCP Π½Π° Windows. Π—Π° създаванС Π½Π° ΠΏΡƒΠ» ΠΎΡ‚ нишки сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ±Π΅ΠΉΠΎ, Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° DNS заявки Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ Ρ€Π΅ΠΆΠΈΠΌ Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ Π³Ρ€ΠΈΠΆΠΈ. Всички систСмни повиквания, ΠΊΠΎΠΈΡ‚ΠΎ причиняват Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅, сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡƒΠ»Π° ΠΎΡ‚ нишки ΠΈ слСд Ρ‚ΠΎΠ²Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° сигнали, ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ тяхната Ρ€Π°Π±ΠΎΡ‚Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΡ€Π΅Π· Π½Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ ΠΊΠ°Π½Π°Π». Π˜Π·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° JavaScript ΠΊΠΎΠ΄ сС осигурява Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π», Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ Google V8 (Π’ допълнСниС Microsoft Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° вСрсия Π½Π° Node.js с двигатСля Chakra-Core).

Π’ основата си Node.js Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Perl AnyEvent, Машина Π·Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Ruby, Python Twisted ΠΈ изпълнСниС ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π² Tcl, Π½ΠΎ Ρ†ΠΈΠΊΡŠΠ»ΡŠΡ‚ Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π² Node.js Π΅ скрит ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π° Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π² ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€. ΠŸΡ€ΠΈ писанС Π½Π° прилоТСния Π·Π° node.js Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС Π²Π·Π΅ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ спСцификата Π½Π° управляваното ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вмСсто Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ β€œvar result = db.query(β€œselect..”);” с ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ Π·Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΈ послСдваща ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅, Node.js ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π½Π° асинхронно изпълнСниС, Ρ‚.Π΅. ΠΊΠΎΠ΄ΡŠΡ‚ сС трансформира Π² β€œdb.query(β€œselect..”, function (result) {result processing});”, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŠΡ‚ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ към Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ ΠΊΠΎΠ΄ ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ заявката Ρ‰Π΅ бъдС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΡ€ΠΈ пристиганСто Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅. .

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

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