рд╕рд░реНрднрд░-рд╕рд╛рдЗрдб JavaScript рдкреНрд▓реЗрдЯрдлрд░реНрдо Node.js 18.0 рдЙрдкрд▓рдмреНрдз рдЫ

Node.js 18.0 рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд▓реЗрдЯрдлрд░реНрдоред Node.js 18.0 рд▓рд╛рдИ рджреАрд░реНрдШрдХрд╛рд▓реАрди рд╕рдорд░реНрдерди рд╢рд╛рдЦрд╛рдХреЛ рд░реВрдкрдорд╛ рд╡рд░реНрдЧреАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ рдпреЛ рд╕реНрдерд┐рддрд┐ рд╕реНрдерд┐рд░реАрдХрд░рдг рдкрдЫрд┐ рдорд╛рддреНрд░ рдЕрдХреНрдЯреЛрдмрд░рдорд╛ рддреЛрдХрд┐рдиреЗрдЫред Node.js 18.x рдЕрдкреНрд░рд┐рд▓ 2025 рд╕рдореНрдо рд╕рдорд░реНрдерд┐рдд рд╣реБрдиреЗрдЫред Node.js 16.x рдХреЛ рдЕрдШрд┐рд▓реНрд▓реЛ LTS рд╢рд╛рдЦрд╛рдХреЛ рдорд░реНрдордд рд╕рдореНрднрд╛рд░ рдЕрдкреНрд░рд┐рд▓ 2024 рд╕рдореНрдо рд░ рдЕрдиреНрддрд┐рдо LTS рд╢рд╛рдЦрд╛ 14.x рдЕрдШрд┐рдХреЛ рд╡рд░реНрд╖ рдЕрдкреНрд░рд┐рд▓ 2023 рд╕рдореНрдо рд░рд╣рдиреЗрдЫред 12.x LTS рд╢рд╛рдЦрд╛ рдЕрдкреНрд░рд┐рд▓ 30 рдорд╛ рдмрдиреНрдж рд╣реБрдиреЗрдЫ, рд░ Node.js 17.x рд╕реНрдЯреЗрдЬрд┐рдЩ рд╢рд╛рдЦрд╛ рдЬреБрди 1st рдорд╛ рдмрдиреНрдж рд╣реБрдиреЗрдЫред

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

  • V8 рдЗрдиреНрдЬрд┐рди рд╕рдВрд╕реНрдХрд░рдг 10.1 рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди рдХреНрд░реЛрдорд┐рдпрдо 101 рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред Node.js рдХреЛ 17.9.0 рд░рд┐рд▓реАрдЬрдХреЛ рддреБрд▓рдирд╛рдорд╛, рддреНрдпрд╣рд╛рдБ рдЕрдм рдЕрдиреНрддреНрдпрдХреЛ рд╕рд╛рдкреЗрдХреНрд╖ рддрддреНрд╡рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ FindLast рд░ findLastIndex рд╡рд┐рдзрд┐рд╣рд░реВ рдЬрд╕реНрддрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЫред рдПрд░реЗ, рд░ Intl.supportedValuesOf рдкреНрд░рдХрд╛рд░реНрдпред рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ Intl.Locale APIред рд╡рд░реНрдЧ рдХреНрд╖реЗрддреНрд░ рд░ рдирд┐рдЬреА рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХрддрд╛ рджреНрд░реБрдд рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ fetch() API рд▓рд╛рдИ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╕рдХреНрд╖рдо рдкрд╛рд░рд┐рдПрдХреЛ рдЫ, рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рд╕реНрд░реЛрддрд╣рд░реВ рд▓реЛрдб рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди HTTP/1.1 undici рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рдХреЛрдбрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ рд░ рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рди API рдХреЛ рд╕рдХреЗрд╕рдореНрдо рдирдЬрд┐рдХ рдЫред рдпрд╕рдорд╛ HTTP рдЕрдиреБрд░реЛрдз рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЗрдбрд░рд╣рд░реВ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрди рдлрд╛рд░рдордбреЗрдЯрд╛, рд╣реЗрдбрд░рд╣рд░реВ, рдЕрдиреБрд░реЛрдз рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд╕рдорд╛рд╡реЗрд╢ рдЫред const res = wait fetch('https://nodejs.org/api/documentation.json'); рдпрджрд┐ (res.ok) { const data = рдкрд░реНрдЦрдиреБрд╣реЛрд╕реН res.json(); console.log(рдбреЗрдЯрд╛); }
  • рд╡реЗрдм рд╕реНрдЯреНрд░рд┐рдореНрд╕ API рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдердкрд┐рдПрдХреЛ рдЫ, рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдкреНрд░рд╛рдкреНрдд рдбрд╛рдЯрд╛ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрджреИред рдПрдкреАрдЖрдИрд▓реЗ рд╕рдореНрдкреВрд░реНрдг рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╣реБрди рдирдкрд░реНрдиреЗ рдЧрд░реА рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рд╕реВрдЪрдирд╛ рдЖрдЙрдиреЗ рдмрд┐рддреНрддрд┐рдХреИ рдбрд╛рдЯрд╛рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рддрдкрд╛рдИрдВрдХрд╛ рдЖрдлреНрдиреИ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рдердкреНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред рдЕрдм Node.js рдорд╛ рдЙрдкрд▓рдмреНрдз рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, рд░ DecompressionStream рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред
  • рдмреНрд▓рдм рдПрдкреАрдЖрдИрд▓рд╛рдИ рд╕реНрдерд┐рд░рдорд╛ рд╕рд╛рд░рд┐рдПрдХреЛ рдЫ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдереНрд░реЗрдбрд╣рд░реВрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХрдЪреНрдЪрд╛ рдбрд╛рдЯрд╛ рдЗрдиреНрдХреНрдпрд╛рдкреНрд╕реБрд▓реЗрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред
  • BroadcastChannel API рд▓рд╛рдИ "рдПрдХ рдкреНрд░реЗрд╖рдХ - рдзреЗрд░реИ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рд╣рд░реВ" рдврд╛рдБрдЪрд╛рдорд╛ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдореЛрдбрдорд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВрдХреЛ рдЖрджрд╛рдирдкреНрд░рджрд╛рдирд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИ рд╕реНрдерд┐рд░ рдмрдирд╛рдЗрдПрдХреЛ рдЫред
  • рдердкрд┐рдпреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдореЛрдбреНрдпреБрд▓ рдиреЛрдб: рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдг рдЬрд╕рд▓реЗ TAP (Test Anything Protocol) рдврд╛рдБрдЪрд╛рдорд╛ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдлрд░реНрдХрд╛рдЙрдБрдЫред
  • рд░реЗрдб рд╣реНрдпрд╛рдЯ рдЗрдиреНрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд▓рд┐рдирдХреНрд╕ (RHEL) 8 рд░ Glibc 2.28+ рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреНрдп рд╡рд┐рддрд░рдгрд╣рд░реВ, Debian 10 рд░ Ubuntu 20.04 рд╕рд╣рд┐рдд, рд╕рд╛рдереИ macOS 10.15+ рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рдПрд╕реЗрдореНрдмрд▓реАрд╣рд░реВрдХреЛ рдЙрддреНрдкрд╛рджрди рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред V8 рдЗрдиреНрдЬрд┐рди рдирд┐рд░реНрдорд╛рдгрдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдХрд╛рд░рдг, Windows рдХреЛ рд▓рд╛рдЧрд┐ 32-рдмрд┐рдЯ рдмрд┐рд▓реНрдбрд╣рд░реВрдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдкрдорд╛ рд░реЛрдХрд┐рдПрдХреЛ рдЫред
  • рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдорд╛ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рдЪрдпрдирд┐рдд рдШрдЯрдХрд╣рд░реВрд╕рдБрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп Node.js рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдЧрд░рд┐рдпреЛред рд╕реБрд░реБрдХрд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди, "--node-snapshot-main" рд╡рд┐рдХрд▓реНрдк рдХрдиреНрдлрд┐рдЧрд░ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдердкрд┐рдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, "./configure тАФnode-snapshot-main=marked.js; рдирд╛рдо рдиреЛрдб"

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 (рдирддрд┐рдЬрд╛) {рдирддрд┐рдЬрд╛ рдкреНрд░рд╢реЛрдзрди});" рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ рдирд┐рдпрдиреНрддреНрд░рдг рддреБрд░реБрдиреНрддреИ рдЕрд░реНрдХреЛ рдХреЛрдбрдорд╛ рдЬрд╛рдиреЗрдЫ, рд░ рдбрд╛рдЯрд╛ рдЖрдЗрдкреБрдЧреНрджрд╛ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдорд▓рд╛рдИ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреЗрдЫред

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

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