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

Node.js 16.0 рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрдиреЗ рдкреНрд▓реЗрдЯрдлрд░реНрдоред 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 (Atomic.wait рдХреЛ async рд╕рдВрд╕реНрдХрд░рдг) рдорд╛ рдПрдЯрдорд┐рдХреНрд╕ рд╡рд┐рдзрд┐, рд╢реАрд░реНрд╖-рд╕реНрддрд░ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдорд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рд╡рд░реНрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдорд░реНрдердиред рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓рд╣рд░реВ рддреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрдорд╛ рджреНрд░реБрдд рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╣рд╛рдБ рдкрд╛рд╕ рдЧрд░рд┐рдПрдХрд╛ рддрд░реНрдХрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдБрджреИрдиред
  • рдЯрд╛рдЗрдорд░ рд╡рд╛рдЪрд╛ API рд▓рд╛рдИ рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЯрд╛рдЗрдорд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдЖрдЙрдЯрдкреБрдЯрдХреЛ рд░реВрдкрдорд╛ рд╡рд╛рдЪрд╛ рд╡рд╕реНрддреБрд╣рд░реВ рдлрд░реНрдХрд╛рдЙрдБрдЫ, рдЬрд╕рд▓реЗ util.promisify() рдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рд▓рд╛рдИ рд╣рдЯрд╛рдЙрдБрдЫред рдЖрдпрд╛рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН { setTimeout } 'рдЯрд╛рдЗрдорд░/рдкреНрд░реЛрдорд┐рд╕реЗрд╕' рдмрд╛рдЯ; async рдкреНрд░рдХрд╛рд░реНрдп рд░рди() { рдкрд░реНрдЦрдиреБрд╣реЛрд╕реН setTimeout(5000); console.log('рд╣реЗрд▓реЛ, рд╡рд░реНрд▓реНрдб!'); } рд░рди ();
  • рд╡реЗрдм рдХреНрд░рд┐рдкреНрдЯреЛ API рдХреЛ рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдердкрд┐рдПрдХреЛ рдЫ, рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдЫреЗрдЙрдорд╛ рдЖрдзрд╛рд░рднреВрдд рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕реНрддреИ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╣реНрдпрд╛рд╕рд╣рд░реВ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрдиреЗ, рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреЗ рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЧрд░реНрдиреЗ, рд╡рд┐рднрд┐рдиреНрди рдЗрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдбрд╛рдЯрд╛ рдПрдиреНрдХреЛрдб рдЧрд░реНрдиреЗ рд░ рдбрд┐рдХреЛрдб рдЧрд░реНрдиреЗ, рд░ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд░реВрдкрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрдиреЗред рдЕрдирд┐рдпрдорд┐рдд рд╕рдВрдЦреНрдпрд╛рд╣рд░реВред API рд▓реЗ рдХреБрдЮреНрдЬреАрд╣рд░реВ рдЙрддреНрдкрд╛рджрди рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╣рд░реВ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
  • N-API (рдПрдб-рдЕрдирд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ API) рд╕рдВрд╕реНрдХрд░рдг 8 рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ NPM 7.10 рдХреЛ рдирдпрд╛рдБ рд░рд┐рд▓реАрдЬрдорд╛ рд╕рдВрдХреНрд░рдордг рдЧрд░рд┐рдПрдХреЛ рдЫред
  • AbortController рд╡рд░реНрдЧрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рд╕реНрдерд┐рд░ рдмрдирд╛рдЗрдпреЛ, рдЬреБрди AbortController Web API рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ рд░ рдЪрдпрди рдЧрд░рд┐рдПрдХреЛ рд╡рдЪрди-рдЖрдзрд╛рд░рд┐рдд API рд╣рд░реВрдорд╛ рд╕рдВрдХреЗрддрд╣рд░реВ рд░рджреНрдж рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • рд╕реНрд░реЛрдд рдирдХреНрд╕рд╛ рдврд╛рдБрдЪрд╛рдХреЛ рддреЗрд╕реНрд░реЛ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди, рдореВрд▓ рд╕реНрд░реЛрдд рдХреЛрдбрд╕рдБрдЧ рдЙрддреНрдкрдиреНрди, рдкреНрд░рд╢реЛрдзрди рд╡рд╛ рдкреНрдпрд╛рдХреЗрдЬ рдЧрд░рд┐рдПрдХреЛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рд▓рд┐рдЧреЗрд╕реА рд╡реЗрдм рдПрдкреАрдЖрдИрд╣рд░реВрд╕рдБрдЧ рдЕрдиреБрдХреВрд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐, buffer.atob(data) рд░ buffer.btoa(рдбреЗрдЯрд╛) рд╡рд┐рдзрд┐рд╣рд░реВ рдердкрд┐рдПрдХрд╛ рдЫрдиреНред
  • M1 ARM рдЪрд┐рдк рд╕рдВрдЧ рд╕реБрд╕рдЬреНрдЬрд┐рдд рдирдпрд╛рдБ рдПрдкреНрдкрд▓ рдЙрдкрдХрд░рдгрд╣рд░реБ рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдЧрдарди рд╕реБрд░реБ рднрдПрдХреЛ рдЫред
  • рд▓рд┐рдирдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд░реНрдордорд╛, рдХрдореНрдкрд╛рдЗрд▓рд░ рд╕рдВрд╕реНрдХрд░рдг рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ 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 рдкреНрд░рд╢реНрдирд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдПрдХреАрдХреГрдд рдЫред рд╕рдмреИ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рдЬрд╕рд▓реЗ рдмреНрд▓рдХрд┐рдЩ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ рдереНрд░реЗрдб рдкреВрд▓ рднрд┐рддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐, рд╕рд┐рдЧреНрдирд▓ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рдЬрд╕реНрддреИ, рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХрд╛рдордХреЛ рдирддрд┐рдЬрд╛ рдЕрдЬреНрдЮрд╛рдд рдкрд╛рдЗрдк рдорд╛рд░реНрдлрдд рдлрд┐рд░реНрддрд╛ рдкрд╛рд░реНрдЫред рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧреБрдЧрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд V8 рдЗрдиреНрдЬрд┐рдирдХреЛ рдкреНрд░рдпреЛрдЧ рдорд╛рд░реНрдлрдд рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ (рдЕрддрд┐рд░рд┐рдХреНрдд, рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯрд▓реЗ рдЪрдХреНрд░-рдХреЛрд░ рдЗрдиреНрдЬрд┐рдирдХреЛ рд╕рд╛рде Node.js рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╛рд╕ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ)ред

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

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди