рд╕рд░реНрд╡реНрд╣рд░-рд╕рд╛рдЗрдб JavaScript Node.js 14.0 рд░рд┐рд▓реАрдЬ

рдЬрд╛рдЧрд╛ рдШреЗрддрд▓реА рд░реАрд▓рд┐рдЭ рдиреЛрдб.рдЬреЗрдПрд╕ 14.0,рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо. Node.js 14.0 рд╣реА рджреАрд░реНрдШрдХрд╛рд▓реАрди рд╕рдорд░реНрдерди рд╢рд╛рдЦрд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣реА рд╕реНрдерд┐рддреА рдХреЗрд╡рд│ рд╕реНрдерд┐рд░реАрдХрд░рдгрд╛рдирдВрддрд░ рдСрдХреНрдЯреЛрдмрд░рдордзреНрдпреЗ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реА рдЬрд╛рдИрд▓. Node.js 14.0 рд╕рдорд░реНрдерд┐рдд рдЕрд╕реЗрд▓ рдкрд╛рд░ рдкрд╛рдбрдгреЗ рдПрдкреНрд░рд┐рд▓ 2023 рдкрд░реНрдпрдВрдд. Node.js 12.0 рдЪреНрдпрд╛ рдкреВрд░реНрд╡реАрдЪреНрдпрд╛ LTS рд╢рд╛рдЦреЗрдЪреА рджреЗрдЦрднрд╛рд▓ рдПрдкреНрд░рд┐рд▓ 2022 рдкрд░реНрдпрдВрдд рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреА LTS рд╢рд╛рдЦрд╛ 10.0 рдЪреНрдпрд╛ рдЖрдзреАрдЪреНрдпрд╛ рд╡рд░реНрд╖реА рдПрдкреНрд░рд┐рд▓ 2021 рдкрд░реНрдпрдВрдд рдЪрд╛рд▓реЗрд▓. 13.x рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╢рд╛рдЦреЗрд╕рд╛рдареА рд╕рдорд░реНрдерди рдпрд╛ рд╡рд░реНрд╖рд╛рдЪреНрдпрд╛ рдЬреВрдирдордзреНрдпреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдИрд▓.

рдореБрдЦреНрдп рд╕реБрдзрд╛рд░рдгрд╛:

  • рдорд╛рд╢реАрд╡рд░ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рдШрдЯрдирд╛ рдШрдбрд▓реНрдпрд╛рдирдВрддрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд╕реНрдерд┐рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдирд┐рджрд╛рди рдЕрд╣рд╡рд╛рд▓, рдЬреЗ рдХреНрд░реЕрд╢, рдкрд░рдлреЙрд░реНрдордиреНрд╕ рдбрд┐рдЧреНрд░реЗрдбреЗрд╢рди, рдореЗрдорд░реА рд▓реАрдХ, рд╣реЗрд╡реА CPU рд▓реЛрдб, рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдПрд░рд░ рдЖрдЙрдЯрдкреБрдЯ рдЗрддреНрдпрд╛рджреА рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рджрд╛рди рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рдгрд╛рд░реЗ рдЗрд╡реНрд╣реЗрдВрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛рдд.
  • рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ API рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ Async рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ AsyncLocalStorage рд╡рд░реНрдЧрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХреЙрд▓рдмреЕрдХ рдХреЙрд▓ рдЖрдгрд┐ рд╡рдЪрдирд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╣рдБрдбрд▓рд░реНрд╕рд╕рд╣ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕реНрдерд┐рддреА рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. AsyncLocalStorage рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдм рд╡рд┐рдирдВрддреАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдЗрддрд░ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рдереНрд░реЗрдб-рд▓реЛрдХрд▓ рд╕реНрдЯреЛрд░реЗрдЬрдЪреА рдЖрдард╡рдг рдХрд░реВрди рджреЗрддреЗ.
  • рд▓реЛрдб рдХрд░рддрд╛рдирд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдмрджреНрджрд▓ рдЪреЗрддрд╛рд╡рдгреА рд╕рдВрджреЗрд╢ рдХрд╛рдврд▓рд╛ рдореЙрдбреНрдпреВрд▓ ECMAScript 6 рдЖрдпрд╛рдд рдЖрдгрд┐ рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдзрд╛рдиреЗ рд╡рд╛рдкрд░реВрди рдХрдиреЗрдХреНрдЯ рдЖрдгрд┐ рдирд┐рд░реНрдпрд╛рдд. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдИрдПрд╕рдПрдо рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реНрд╡рддрдГ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд░рд╛рд╣рддреЗ.
  • V8 рдЗрдВрдЬрд┐рди рдЖрд╡реГрддреНрддреАрд╡рд░ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗ 8.1 (1, 2, 3), рдЬреНрдпрд╛рдордзреНрдпреЗ рдирд╡реАрди рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЖрдгрд┐ рдирд╡реАрди рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрдпреЛрдЬрди рдСрдкрд░реЗрдЯрд░ "???" рд╕рд╛рд░рдЦреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. (рдбрд╛рд╡реЗ рдСрдкрд░реЗрдВрдб NULL рдХрд┐рдВрд╡рд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдЙрдЬрд╡реЗ рдСрдкрд░реЗрдВрдб рдорд┐рд│рд╡рддреЗ, рдЖрдгрд┐ рддреНрдпрд╛рдЙрд▓рдЯ), "?." рдСрдкрд░реЗрдЯрд░ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд┐рдВрд╡рд╛ рдХреЙрд▓реНрд╕рдЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдЦрд│реАрдЪреНрдпрд╛ рдПрдХ-рд╡реЗрд│рдЪреНрдпрд╛ рддрдкрд╛рд╕рдгреАрд╕рд╛рдареА (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░рд╛рдердорд┐рдХ рддрдкрд╛рд╕рдгреАрд╢рд┐рд╡рд╛рдп тАЬdb?.user?.name?.lengthтАЭ), рд╕реНрдерд╛рдирд┐рдХ рдирд╛рд╡реЗ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА Intl.DisplayName рдкрджреНрдзрдд рдЗ.
  • Streams API рдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХреЗрд▓реА рдЧреЗрд▓реА, рдЬреНрдпрд╛рдЪрд╛ рдЙрджреНрджреЗрд╢ рд╕реНрдЯреНрд░реАрдо API рдЪреА рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реБрдзрд╛рд░рдгреЗ рдЖрдгрд┐ Node.js рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рднрд╛рдЧрд╛рдВрдЪреНрдпрд╛ рд╡рд░реНрддрдирд╛рддреАрд▓ рдлрд░рдХ рджреВрд░ рдХрд░рдгреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, http.OutgoingMessage рдЪреЗ рд╡рд░реНрддрди stream.Writable рдЪреНрдпрд╛ рдЬрд╡рд│ рдЖрд╣реЗ рдЖрдгрд┐ net.Socket stream.Duplex рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. autoDestroy рдкрд░реНрдпрд╛рдп рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ "true" рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рдЕрд░реНрде рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рд╡рд░ "_destroy" рдХреЙрд▓ рдХрд░рдгреЗ.
  • рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ API рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдореА рд╣реЛрддреЛ (WebAssembly рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯрд░рдлреЗрд╕), рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╢реА рдереЗрдЯ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ (рдлрд╛рдИрд▓реНрд╕, рд╕реЙрдХреЗрдЯреНрд╕ рдЗ. рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА POSIX API).
  • рд╕рд╛рдареА рд╡рд╛рдвреАрд╡ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд┐рдорд╛рди рдЖрд╡реГрддреНрддреНрдпрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдгрд┐ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо: macOS 10.13 (рд╣рд╛рдп рд╕рд┐рдПрд░рд╛), GCC 6, рд╡рд┐рдВрдбреЛрдЬ рдирд╡реАрди 7/2008R2.

рдЖрдореНрд╣рд╛рд▓рд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡реВрдпрд╛ рдХреА Node.js рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░-рд╕рд╛рдЗрдб рд╕рдорд░реНрдердирд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЛрдиреНрд╣реА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. Node.js рд╕рд╛рдареА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рд╕реНрддреГрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдореЙрдбреНрдпреВрд▓реНрд╕рдЪрд╛ рд╕рдВрдЧреНрд░рд╣, рдЬреНрдпрд╛рдордзреНрдпреЗ рддреБрдореНрд╣реА рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, рд╡рд┐рд╡рд┐рдз рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХрд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рд╕рд╛рдареА рдореЙрдбреНрдпреВрд▓реНрд╕, WebSocket рдЖрдгрд┐ Ajax рд╣рдБрдбрд▓рд░реНрд╕, DBMS (MySQL, PostgreSQL, SQLite) рд╢реА рдХрдиреЗрдХреНрдЯрд░ рд╢реЛрдзреВ рд╢рдХрддрд╛. , рдореЛрдВрдЧреЛрдбреАрдмреА ), рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрд┐рди, CSS рдЗрдВрдЬрд┐рди, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрдгрд┐ рдСрдереЛрд░рд╛рдпрдЭреЗрд╢рди рд╕рд┐рд╕реНрдЯрдореНрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА (OAuth), XML рдкрд╛рд░реНрд╕рд░.

рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╕рдорд╛рдВрддрд░ рд╡рд┐рдирдВрддреНрдпрд╛ рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, Node.js рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдЗрд╡реНрд╣реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЖрдгрд┐ рдХреЙрд▓рдмреЕрдХ рд╣рдБрдбрд▓рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рди рдореЙрдбреЗрд▓ рд╡рд╛рдкрд░рддреЗ. рдорд▓реНрдЯрд┐рдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рд╕рдорд░реНрдерд┐рдд рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ epoll, kqueue, /dev/poll рдЖрдгрд┐ рд╕рд┐рд▓реЗрдХреНрдЯ рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддреЛ. рд▓рд╛рдпрдмреНрд░рд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ libuv, рдЬреЗ рдПрдХ рд╕реБрдкрд░рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЖрд╣реЗ libv рдпреБрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЖрдгрд┐ рд╡рд┐рдВрдбреЛрдЬрд╡рд░ IOCP рд╡рд░. рдереНрд░реЗрдб рдкреВрд▓ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ libeio, рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдбрдордзреНрдпреЗ DNS рдХреНрд╡реЗрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ c-ares. рдмреНрд▓реЙрдХрд┐рдВрдЧрд▓рд╛ рдХрд╛рд░рдгреАрднреВрдд рдЕрд╕рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рд╕рд┐рд╕реНрдЯреАрдо рдХреЙрд▓ рдереНрд░реЗрдб рдкреВрд▓рдордзреНрдпреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдирдВрддрд░, рд╕рд┐рдЧреНрдирд▓ рд╣рдБрдбрд▓рд░реНрд╕рдкреНрд░рдорд╛рдгреЗ, рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрд╛рдорд╛рдЪрд╛ рдирд┐рдХрд╛рд▓ рдЕрдЬреНрдЮрд╛рдд рдкрд╛рдИрдкрджреНрд╡рд╛рд░реЗ рдкрд░рдд рджреЗрддрд╛рдд. Google рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЗрдВрдЬрд┐рдирдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рджреНрд╡рд╛рд░реЗ JavaScript рдХреЛрдбрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ V8 (рдпрд╛рд╢рд┐рд╡рд╛рдп, рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЪрдХреНрд░-рдХреЛрд░ рдЗрдВрдЬрд┐рдирд╕рд╣ Node.js рдЪреА рдЖрд╡реГрддреНрддреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЖрд╣реЗ).

рддреНрдпрд╛рдЪреНрдпрд╛ рдХреЗрдВрджреНрд░рд╕реНрдерд╛рдиреА, Node.js рд╣реЗ рдлреНрд░реЗрдорд╡рд░реНрдХрд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ Perl AnyEvent, рд░реБрдмреА рдЗрд╡реНрд╣реЗрдВрдЯ рдорд╢реАрди, Python Twisted ╨╕ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА Tcl рдордзреАрд▓ рдЗрд╡реНрд╣реЗрдВрдЯ, рдкрд░рдВрддреБ Node.js рдордзреАрд▓ рдЗрд╡реНрд╣реЗрдВрдЯ рд▓реВрдк рдбреЗрд╡реНрд╣рд▓рдкрд░рдкрд╛рд╕реВрди рд▓рдкрд▓реЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд░реНтАНрдпрд╛ рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ рдЗрд╡реНрд╣реЗрдВрдЯ рд╣рд╛рддрд╛рд│рдгреАрд╕рд╛рд░рдЦреЗ рджрд┐рд╕рддреЗ. node.js рд╕рд╛рдареА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рд╣рд┐рддрд╛рдирд╛, рдЗрд╡реНрд╣реЗрдВрдЯ-рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬvar result = db.query(тАЬselect..тАЭ);тАЭ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА. рдХрд╛рдо рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВрди рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдорд╛рдВрдЪреНрдпрд╛ рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╣, Node.js рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рддрддреНрддреНрд╡ рд╡рд╛рдкрд░рддреЗ, рдЙрджрд╛. рдХреЛрдбрдЪреЗ рд░реВрдкрд╛рдВрддрд░ тАЬdb.query(тАЬselect..тАЭ, function (result) {result processing});тАЭ рдордзреНрдпреЗ рд╣реЛрддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдирд┐рдпрдВрддреНрд░рдг рддрд╛рдмрдбрддреЛрдм рдкреБрдвреАрд▓ рдХреЛрдбрдХрдбреЗ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдЖрд▓реНрдпрд╛рд╡рд░ рдХреНрд╡реЗрд░реА рдирд┐рдХрд╛рд▓рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдИрд▓. .

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛