เปเบžเบฅเบ”เบŸเบญเบก 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, เปเบฅเบฐเบ›เบตเบเปˆเบญเบ™เบชเบฒเบ‚เบฒ LTS เบชเบธเบ”เบ—เป‰เบฒเบ 14.x เบˆเบปเบ™เป€เบ–เบดเบ‡เป€เบ”เบทเบญเบ™เป€เบกเบชเบฒ 2023. เบชเบฒเบ‚เบฒ 12.x LTS เบˆเบฐเบขเบธเบ”เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เปƒเบ™เบงเบฑเบ™เบ—เบต 30 เป€เบกเบชเบฒ, เปเบฅเบฐเบชเบฒเบ‚เบฒเบ‚เบญเบ‡ Node.js 17.x เบˆเบฐเบขเบธเบ”เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เปƒเบ™เบงเบฑเบ™เบ—เบต 1 เบกเบดเบ–เบธเบ™เบฒ.

เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ•เบปเป‰เบ™เบ•เป:

  • เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ V8 เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบฑเบ™เป€เบงเบตเบŠเบฑเปˆเบ™ 10.1, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เปƒเบ™ Chromium 101. เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบฅเบธเป‰เบ™ 17.9.0 เบ‚เบญเบ‡ Node.js, เบ•เบญเบ™เบ™เบตเป‰เบกเบตเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ•เปˆเบฒเบ‡เป†เป€เบŠเบฑเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™ findLast เปเบฅเบฐ findLastIndex เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบŠเบญเบเบซเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบ‚เบญเบ‡ array, เปเบฅเบฐเบŸเบฑเบ‡เบŠเบฑเบ™ Intl.supportedValuesOf. เบ›เบฑเบšเบ›เบธเบ‡ Intl.Locale API. เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบŠเบฑเป‰เบ™เบฎเบฝเบ™เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เป€เบญเบเบฐเบŠเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบฅเบฑเปˆเบ‡เบฅเบฑเบ”.
  • API fetch() เบ—เบปเบ”เบฅเบญเบ‡เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบญเบญเบเปเบšเบšเบกเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบฅเบฐเบซเบฑเบ”เบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ HTTP/1.1 undici เปเบฅเบฐเปƒเบเป‰เบ„เบฝเบ‡เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบเบฑเบš API เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš. เบ™เบตเป‰เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš FormData, Headers, Request and Response interfaces for manipulating HTTP request and response headers. const res = await fetch('https://nodejs.org/api/documentation.json'); เบ–เป‰เบฒ (res.ok) { const data = เบฅเปเบ–เป‰เบฒ res.json(); console.log(เบ‚เปเป‰เบกเบนเบ™); }
  • เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบ‚เบญเบ‡ Web Stream API เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เปƒเบซเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. API เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเป‰เบญเบ™เบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เบกเบฒเบฎเบญเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เบฅเปเบ–เป‰เบฒเป„เบŸเบฅเปŒเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบ”เบฒเบงเป‚เบซเบฅเบ”. เบ•เบญเบ™เบ™เบตเป‰เบงเบฑเบ”เบ–เบธเบกเบตเบขเบนเปˆเปƒเบ™ Node.js เบฅเบงเบกเบกเบต ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, เปเบฅเบฐ DecompressionStream.
  • Blob API เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเป„เบ›เบ—เบตเปˆเบ„เบปเบ‡เบ—เบตเปˆ, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” encapsulate เบ‚เปเป‰เบกเบนเบ™เบ”เบดเบšเบ—เบตเปˆเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบ›เบญเบ”เป„เบžเปƒเบ™เบเบฐเบ—เบนเป‰เปเบฎเบ‡เบ‡เบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.
  • BroadcastChannel API เป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบ™เบฎเบนเบšเปเบšเบš asynchronous เปƒเบ™เบฎเบนเบšเปเบšเบš "เบœเบนเป‰เบชเบปเปˆเบ‡เบ„เบปเบ™เบ”เบฝเบง - เบซเบผเบฒเบเบœเบนเป‰เบฎเบฑเบš".
  • เป€เบžเบตเปˆเบกเป‚เบซเบ™เบ”เป‚เบกเบ”เบนเบ™เบ—เบปเบ”เบฅเบญเบ‡: เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเปเบฅเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ™ JavaScript เบ—เบตเปˆเบชเบปเปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบ™เบฎเบนเบšเปเบšเบš TAP (Test Anything Protocol).
  • เบเบฒเบ™เบœเบฐเบฅเบดเบ”เป€เบ„เบทเปˆเบญเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบš Red Hat Enterprise Linux (RHEL) 8 เปเบฅเบฐเบเบฒเบ™เปเบˆเบเบขเบฒเบเบญเบทเปˆเบ™เป†เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Glibc 2.28+, เบฅเบงเบกเบ—เบฑเบ‡ Debian 10 เปเบฅเบฐ Ubuntu 20.04, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš macOS 10.15+ เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ V8, เบเบฒเบ™เบชเป‰เบฒเบ‡ 32-bit builds เบชเปเบฒเบฅเบฑเบš Windows เป„เบ”เป‰เบ–เบทเบเบขเบธเบ”เบŠเบปเปˆเบงเบ„เบฒเบง.
  • เปƒเบซเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ Node.js เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เป€เบฅเบทเบญเบเป„เบงเป‰เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบญเบปเบ‡เบ›เบฐเบเบญเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--node-snapshot-main" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ configure build script, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, "./configure โ€”node-snapshot-main=marked.js; node เบŠเบทเปˆ"

เปเบžเบฅเบ”เบŸเบญเบก Node.js เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบ—เบฑเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฒเบฅเบธเบ‡เบฎเบฑเบเบชเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ›เบปเบเบเบฐเบ•เบด. เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเปเบฒเบฅเบฑเบš Node.js, เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบก, เปƒเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” HTTP, SMTP, XMPP, DNS, FTP, IMAP, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ POP3 เปเบฅเบฐเบฅเบนเบเบ„เป‰เบฒ, เป‚เบกเบ”เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡. เบเบฑเบšเบเบญเบšเป€เบงเบฑเบšเบ•เปˆเบฒเบ‡เป†, WebSocket เปเบฅเบฐ Ajax handlers , DBMS connectors (MySQL, PostgreSQL, SQLite, MongoDB), templates engines, CSS engines, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ crypto algorithms เปเบฅเบฐเบฅเบฐเบšเบปเบšเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ” (OAuth), XML parsers.

เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบฐเบซเบ™เบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ, Node.js เปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ” asynchronous เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบšเบฅเบฑเบญเบเปเบฅเบฐเบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป‚เบ—เบ„เบทเบ™. เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ multiplexing เปเบกเปˆเบ™ epoll, kqueue, /dev/poll, เปเบฅเบฐเป€เบฅเบทเบญเบ. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ multiplexing เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบซเปเบชเบฐเบซเบกเบธเบ” libuv เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™ add-on เบชเปเบฒเบฅเบฑเบš libev เปƒเบ™เบฅเบฐเบšเบปเบš Unix เปเบฅเบฐ IOCP เปƒเบ™ Windows. เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libeio เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบชเบฐเบ™เบธเบเป€เบเบตเบเบฐเบ—เบนเป‰, เปเบฅเบฐ c-ares เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก DNS เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเปˆเบ›เบดเบ”เบเบฑเป‰เบ™. เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เปเบกเปˆเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฒเบเปƒเบ™เบชเบฐเบ™เบธเบเป€เบเบตเบ‚เบญเบ‡ thread เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบŠเบฑเปˆเบ™เบ•เบปเบงเบˆเบฑเบšเบชเบฑเบ™เบเบฒเบ™, เป‚เบญเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบ„เบทเบ™เบœเปˆเบฒเบ™เบ—เปเปˆเบ—เบตเปˆเบšเปเปˆเบกเบตเบŠเบทเปˆ (เบ—เปเปˆ). เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ” JavaScript เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ V8 เบ—เบตเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ Google (เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, Microsoft เบเปเบฒเบฅเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ Node.js เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ Chakra-Core).

เบขเบนเปˆเปƒเบ™เบซเบผเบฑเบเบ‚เบญเบ‡เบกเบฑเบ™, Node.js เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, เปเบฅเบฐเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบซเบ”เบเบฒเบ™ Tcl, เปเบ•เปˆ loop เป€เบซเบ”เบเบฒเบ™เปƒเบ™ Node.js เบ–เบทเบเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เบˆเบฒเบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เป€เบซเบ”เบเบฒเบ™เปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบงเบฑเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เปƒเบ™ browser. เป€เบกเบทเปˆเบญเบ‚เบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเปเบฒเบฅเบฑเบš node.js, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบ—เบตเปˆเบ‚เบฑเบšเป€เบ„เบทเปˆเบญเบ™เป‚เบ”เบเป€เบซเบ”เบเบฒเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ” "var result = db.query("select..");" เบเบฑเบšเบเบฒเบ™เบฅเปเบ–เป‰เบฒเบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ•เปเปˆเบกเบฒ, Node.js เปƒเบŠเป‰เบซเบผเบฑเบเบเบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” asynchronous, i.e. เบฅเบฐเบซเบฑเบ”เบ–เบทเบเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™ "db.query("select..", function (result) {result processing});", เป€เบŠเบดเปˆเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบˆเบฐเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบฅเบฐเบซเบฑเบ”เบ•เปเปˆเป„เบ›เบ—เบฑเบ™เบ—เบต, เปเบฅเบฐเบœเบปเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบˆเบฐเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบกเบทเปˆเบญเบ‚เปเป‰เบกเบนเบ™เบกเบฒเบฎเบญเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™