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

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

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

  • V8 рдЗрдВрдЬрд┐рди рдЖрд╡реГрддреНрддреА 9.0 (Node.js 15 рдиреЗ рд░рд┐рд▓реАрдЭ 8.6 рд╡рд╛рдкрд░рд▓реЗ), рдЬреЗ рд░реЗрдЧреНрдпреБрд▓рд░ рдПрдХреНрд╕реНрдкреНрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА "рдЗрдВрдбреЗрдХреНрд╕реЗрд╕" рдЧреБрдгрдзрд░реНрдо рд╕рд╛рд░рдЦреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ (рд╕рд╛рдордиреНрдпрд╛рдВрдЪреНрдпрд╛ рдЧрдЯрд╛рдВрдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рд╕реНрдерд╛рдирд╛рдВрд╕рд╣ рдЕреЕрд░реЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЗ) рд╡рд░ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. , Node.js 16 .waitAsync рдордзреАрд▓ Atomics рдкрджреНрдзрдд (Atomic.wait рдЪреА async рдЖрд╡реГрддреНрддреА), рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдореЙрдбреНрдпреВрд▓реНрд╕рдордзреНрдпреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреАрд╡рд░реНрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди. рдлрдВрдХреНрд╢рди рдХреЙрд▓реНрд╕ рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рд╡реЗрдЧрд╡рд╛рди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд рдЬреЗрдереЗ рдкрд╛рд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рддрд░реНрдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рд╣реА.
  • рдЯрд╛рдЗрдорд░ рдкреНрд░реЙрдорд┐рд╕реЗрд╕ API рд╕реНрдерд┐рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЯрд╛рдЗрдорд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░реНрдпрд╛рдпреА рд╕рдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдЬреЗ рдкреНрд░реЙрдорд┐рд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЖрдЙрдЯрдкреБрдЯ рдореНрд╣рдгреВрди рдкрд░рдд рдХрд░рддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ util.promisify() рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реАрд╢реА рд╣реЛрддреЗ. 'рдЯрд╛рдЗрдорд░/рдкреНрд░реЙрдорд┐рд╕реЗрд╕' рд╡рд░реВрди { setTimeout } рдЖрдпрд╛рдд рдХрд░рд╛; async рдлрдВрдХреНрд╢рди рд░рди() { рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ(5000); console.log('рд╣реЕрд▓реЛ, рд╡рд░реНрд▓реНрдб!'); } рд░рди();
  • рд╡реЗрдм рдХреНрд░рд┐рдкреНрдЯреЛ API рдЪреА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЬреА рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдмрд╛рдЬреВрд▓рд╛ рдореВрд▓рднреВрдд рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╣реЕрд╢ рд╣рд╛рддрд╛рд│рдгреЗ, рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдгреЗ, рд╡рд┐рд╡рд┐рдз рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрджреНрдзрддреАрдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдбреЗрдЯрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЖрдгрд┐ рдбреАрдХреЛрдб рдХрд░рдгреЗ рдЖрдгрд┐ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХрд░рд┐рддреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдгреЗ. рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛. API рдХреА рд╡реНрдпреБрддреНрдкрдиреНрди рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдпреЗ рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ.
  • N-API (рдНрдб-рдСрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА API) рдЖрд╡реГрддреНрддреА 8 рд╡рд░ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░ NPM 7.10 рдЪреНрдпрд╛ рдирд╡реАрди рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рд╕рдВрдХреНрд░рдордг рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • AbortController рд╡рд░реНрдЧрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реНрдерд┐рд░ рдХреЗрд▓реА, рдЬреЛ AbortController Web API рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рд╡рдЪрди-рдЖрдзрд╛рд░рд┐рдд API рдордзреНрдпреЗ рд╕рд┐рдЧреНрдирд▓ рд░рджреНрдж рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ.
  • рдореВрд│ рд╕реНрддреНрд░реЛрдд рдХреЛрдбрд╕рд╣ рд╡реНрдпреБрддреНрдкрдиреНрди, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдкреЕрдХреЗрдЬ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреА рддреБрд▓рдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд╕реНрддреНрд░реЛрдд рдирдХрд╛рд╢рд╛ рд╕реНрд╡рд░реВрдкрд╛рдЪреНрдпрд╛ рддрд┐рд╕рд▒реНрдпрд╛ рдЖрд╡реГрддреНрддреАрд╕рд╛рдареА рд╕рдорд░реНрдерди рд╕реНрдерд┐рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • рд▓реЗрдЧрд╕реА рд╡реЗрдм API рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддреЗрд╕рд╛рдареА, buffer.atob(рдбреЗрдЯрд╛) рдЖрдгрд┐ buffer.btoa(рдбреЗрдЯрд╛) рдкрджреНрдзрддреА рдЬреЛрдбрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд.
  • рдПрдо 1 рдПрдЖрд░рдПрдо рдЪрд┐рдкрд╕рд╣ рд╕реБрд╕рдЬреНрдЬ рдирд╡реАрди Appleрдкрд▓ рдЙрдкрдХрд░рдгрд╛рдВрд╕рд╛рдареА рдЕрд╕реЗрдВрдмреНрд▓реА рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реБрд░реВ рдЭрд╛рд▓реЗ рдЖрд╣реЗ.
  • рд▓рд┐рдирдХреНрд╕ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░, рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрд╡реГрддреНрддреА рдЖрд╡рд╢реНрдпрдХрддрд╛ GCC 8.3 рд╡рд░ рд╡рд╛рдврд╡рдгреНрдпрд╛рдд рдЖрд▓реНрдпрд╛ рдЖрд╣реЗрдд.

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

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

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

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдХреА, Node.js рдЪреНрдпрд╛ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдиреЗ рдкреБрдвреАрд▓ рдкрд┐рдвреАрдЪреЗ Deno рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдерд╛рдкрди рдХреЗрд▓реЗрд▓реНрдпрд╛ Deno рдХрдВрдкрдиреАрд▓рд╛ $4.9 рджрд╢рд▓рдХреНрд╖ рдЧреБрдВрддрд╡рдгреВрдХ рдорд┐рд│рд╛рд▓реА. рддреНрдпрд╛рдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ, Deno рд╣реЗ Node.js рд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреЗ Node.js рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдордзреАрд▓ рд╕рдВрдХрд▓реНрдкрдирд╛рддреНрдордХ рддреНрд░реБрдЯреА рджреВрд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ. Deno рдЪреЗ рдмрд┐рдЭрдиреЗрд╕ рд╕реЛрд▓реНрдпреБрд╢рдиреНрд╕ рдкреВрд░реНрдгрдкрдгреЗ рдЦреБрд▓реНрдпрд╛ рдЙрддреНрдкрд╛рджрдирд╛рдВрд╡рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓ рдЖрдгрд┐ рд╕реНрд╡рддрдВрддреНрд░ рд╕рд╢реБрд▓реНрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╕рд╣ рдУрдкрди рдХреЛрдЕрд░ рдореЙрдбреЗрд▓ Deno рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдорд╛рдирд▓реЗ рдЬрд╛рддреЗ.

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

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