Π”ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π½Π°Ρ‚Π° JavaScript ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Node.js 18.0.

Π˜Π·Π»ΡΠ·ΠΎΡ…Π° Node.js 18.0, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° изпълнСниС Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ прилоТСния Π½Π° JavaScript. Node.js 18.0 Π΅ отнСсСн към Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ вСрси, Π½ΠΎ Ρ‚ΠΎΠ·ΠΈ статус Ρ‰Π΅ бъдС ΠΏΡ€ΠΈΡΡŠΠ΄Π΅Π½ само ΠΏΡ€Π΅Π· ΠΎΠΊΡ‚ΠΎΠΌΠ²Ρ€ΠΈ, слСд стабилизацията. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Node.js 18.x Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄ΠΎ Π°ΠΏΡ€ΠΈΠ» 2025 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° LTS вСрсия Node.js 16.x Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄ΠΎ Π°ΠΏΡ€ΠΈΠ» 2024 Π³ΠΎΠ΄ΠΈΠ½Π°, Π° Π½Π° вСрсия 14.x Π΄ΠΎ Π°ΠΏΡ€ΠΈΠ» 2023 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° LTS вСрсия 12.x Ρ‰Π΅ бъдС спряна Π½Π° 30 Π°ΠΏΡ€ΠΈΠ», Π° Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½Π°Ρ‚Π° вСрсия Node.js 17.x - Π½Π° 1 юни.

Основни подобрСния:

  • ДвигатСлят V8 Π΅ ΠΎΠ±Π½ΠΎΠ²Π΅Π½ Π΄ΠΎ вСрсия 10.1, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² Chromium 101. Π’ сравнСниС с Node.js 17.9.0, Π½ΠΎΠ²ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ findLast ΠΈ findLastIndex Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ края Π½Π° масива, Π° ΡΡŠΡ‰ΠΎ ΠΈ функцията Intl.supportedValuesOf. ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ Π΅ API-Ρ‚ΠΎ Intl.Locale. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡΡ‚Π° Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π° Π² класовС ΠΈ частни ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π΅ ускорСна.
  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ СкспСримСнталното API fetch(), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° рСсурси ΠΏΡ€Π΅Π· ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. РСализацията Π΅ основана Π½Π° ΠΊΠΎΠ΄Π° Π½Π° HTTP/1.1 ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° undici ΠΈ Π΅ максимално Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΡ‚ΠΎ API, прСдоставяно Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° интСрфСйситС FormData, Headers, Request ΠΈ Response Π·Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° HTTP заглавия. const res = await fetch('https://nodejs.org/api/documentation.json'); if (res.ok) { const data = await res.json(); console.log(data); }
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ СкспСримСнтална рСализация Π½Π° API Web Streams, прСдоставящ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΏΡ€Π΅Π· ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. API-Ρ‚ΠΎ позволява добавянС Π½Π° собствСни ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ информацията пристига, Π±Π΅Π· Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Ρ‚Π΅ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° цСлия Ρ„Π°ΠΉΠ». Π’ Node.js сСга са Π½Π°Π»ΠΈΡ‡Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream ΠΈ DecompressionStream.
  • API Blob, ΠΊΠΎΠΉΡ‚ΠΎ позволява инкапсулиранС Π½Π° нСизмСняСми сурови Π΄Π°Π½Π½ΠΈ Π·Π° бСзопасна ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, Π΅ ΠΏΡ€Π΅Π²Π΅Π΄Π΅Π½ Π² стабилна вСрсия.
  • API BroadcastChannel, ΠΊΠΎΠΉΡ‚ΠΎ позволява ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ Π² стил β€žΠ΅Π΄ΠΈΠ½ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‡ - ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΠΈβ€œ, Π΅ ΠΏΡ€Π΅Π²Π΅Π΄Π΅Π½ Π² стабилна вСрсия.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ СкспСримСнталСн ΠΌΠΎΠ΄ΡƒΠ» node:test Π·Π° създаванС ΠΈ изпълнСниС Π½Π° тСстовС Π½Π° JavaScript, ΠΊΠΎΠΈΡ‚ΠΎ Π²Ρ€ΡŠΡ‰Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ TAP (Test Anything Protocol).
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½ΠΎ Π΅ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ вСрсии Π·Π° Red Hat Enterprise Linux (RHEL) 8 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ дистрибуции Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Glibc 2.28+, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Debian 10 ΠΈ Ubuntu 20.04, Π° ΡΡŠΡ‰ΠΎ ΠΈ Π·Π° macOS 10.15+. ΠŸΠΎΡ€Π°Π΄ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° двигатСля V8, Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° 32-Π±ΠΈΡ‚ΠΎΠ²ΠΈ вСрсии Π·Π° Windows.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½Π° Π΅ СкспСримСнтална Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° изпълним Ρ„Π°ΠΉΠ» Π½Π° Node.js с ΠΈΠ·Π±Ρ€Π°Π½ΠΈ ΠΎΡ‚ потрСбитСля ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΈ стартиранС. Π—Π° опрСдСлянС Π½Π° стартиращитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π² скрипта Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ configure Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° опция β€žβ€”node-snapshot-mainβ€œ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€ž./configure β€”node-snapshot-main=marked.js; name nodeβ€œ

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° 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, която Π΅ надстройка Π½Π°Π΄ libev Π² Unix-систСми ΠΈ Π½Π°Π΄ IOCP Π² Windows. Π—Π° създаванС Π½Π° ΠΏΡƒΠ» ΠΎΡ‚ нишки (thread pool) сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libeio, Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° DNS запитвания Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ Ρ€Π΅ΠΆΠΈΠΌ Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ c-ares. Всички систСмни повиквания, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅, сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π² ΠΏΡƒΠ» ΠΎΡ‚ нишки ΠΈ слСд Ρ‚ΠΎΠ²Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° сигнали, ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ своята Ρ€Π°Π±ΠΎΡ‚Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Ρ‡Ρ€Π΅Π· Π½Π΅Π½Π°Π·ΠΎΠ²Π°Π½ ΠΊΠ°Π½Π°Π» (pipe). Π˜Π·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° JavaScript ΠΊΠΎΠ΄ сС осигурява Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° разработСния ΠΎΡ‚ Google Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» V8 (Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, Microsoft Ρ€Π°Π·Π²ΠΈΠ²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Node.js с двигатСля Chakra-Core).

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

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster