เปเบžเบฅเบ”เบŸเบญเบก JavaScript เบ‚เป‰เบฒเบ‡เป€เบŠเบตเบšเป€เบงเบต Node.js 21.0 เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰

ะกะพัั‚ะพัะปัั ั€ะตะปะธะท Node.js 21.0, ะฟะปะฐั‚ั„ะพั€ะผั‹ ะดะปั ะฒั‹ะฟะพะปะฝะตะฝะธั ัะตั‚ะตะฒั‹ั… ะฟั€ะธะปะพะถะตะฝะธะน ะฝะฐ ัะทั‹ะบะต JavaScript. ะŸะพะดะดะตั€ะถะบะฐ ะฒะตั‚ะบะธ Node.js 21.0 ะฑัƒะดะตั‚ ะพััƒั‰ะตัั‚ะฒะปัั‚ัŒัั ะฒ ั‚ะตั‡ะตะฝะธะต 6 ะผะตััั†ะตะฒ. ะ’ ะฑะปะธะถะฐะนัˆะธะต ะดะฝะธ ะฑัƒะดะตั‚ ะทะฐะฒะตั€ัˆะตะฝะฐ ัั‚ะฐะฑะธะปะธะทะฐั†ะธั ะฒะตั‚ะบะธ Node.js 20, ะบะพั‚ะพั€ะฐั ะฟะพะปัƒั‡ะธั‚ ัั‚ะฐั‚ัƒั LTS ะธ ะฑัƒะดะตั‚ ะฟะพะดะดะตั€ะถะธะฒะฐั‚ัŒัั ะดะพ ะฐะฟั€ะตะปั 2026 ะณะพะดะฐ. ะกะพะฟั€ะพะฒะพะถะดะตะฝะธะต ะฟั€ะพัˆะปะพะน LTS-ะฒะตั‚ะบะธ Node.js 18.0 ะฟั€ะพะดะปะธั‚ัั ะดะพ ัะตะฝั‚ัะฑั€ั 2025 ะณะพะดะฐ, ะฐ ะฟะพะทะฐะฟั€ะพัˆะปะพะน LTS-ะฒะตั‚ะบะธ 16.0 ะดะพ ะฐะฟั€ะตะปั 2024 ะณะพะดะฐ.

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

  • ะžะฑัŠัะฒะปะตะฝ ัั‚ะฐะฑะธะปัŒะฝั‹ะผ API Fetch, ะฟั€ะตะดะฝะฐะทะฝะฐั‡ะตะฝะฝั‹ะน ะดะปั ะทะฐะณั€ัƒะทะบะธ ั€ะตััƒั€ัะพะฒ ะฟะพ ัะตั‚ะธ ะธ ัƒะฟั€ะพั‰ะฐัŽั‰ะธะน ะฝะฐะฟะธัะฐะฝะธะต ัƒะฝะธะฒะตั€ัะฐะปัŒะฝะพะณะพ JavaScript-ะบะพะดะฐ, ะฟั€ะธะณะพะดะฝะพะณะพ ะดะปั ั€ะฐะฑะพั‚ั‹ ะฝะฐ ัั‚ะพั€ะพะฝะต ัะตั€ะฒะตั€ะฐ ะธ ะบะปะธะตะฝั‚ะฐ. ะ ะตะฐะปะธะทะฐั†ะธั ะพัะฝะพะฒะฐะฝะฐ ะฝะฐ ะบะพะดะต ะธะท HTTP/1.1 ะบะปะธะตะฝั‚ะฐ undici ะธ ะผะฐะบัะธะผะฐะปัŒะฝะพ ะฟั€ะธะฑะปะธะถะตะฝะฐ ะบ ะฐะฝะฐะปะพะณะธั‡ะฝะพะผัƒ API, ะฟั€ะตะดะพัั‚ะฐะฒะปัะตะผะพะผัƒ ะฒ ะฑั€ะฐัƒะทะตั€ะฐั…. API ะฒะบะปัŽั‡ะฐะตั‚ ะฒ ัะตะฑั ะผะตั‚ะพะด fetch() ะธ ะพะฑัŠะตะบั‚ั‹ Headers. Request ะธ Response, ะฟั€ะตะดัั‚ะฐะฒะปััŽั‰ะธะต HTTP-ะทะฐะณะพะปะพะฒะบะธ, ะทะฐะฟั€ะพั ะธ ะพั‚ะฒะตั‚. const res = await fetch(โ€˜https://nodejs.org/api/documentation.jsonโ€™); if (res.ok) { const data = await res.json(); console.log(data); }
  • ะกั‚ะฐะฑะธะปะธะทะธั€ะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ API WebStreams, ะฟั€ะตะดะพัั‚ะฐะฒะปััŽั‰ะตะณะพ ะดะพัั‚ัƒะฟ ะบ ะฟะพั‚ะพะบะฐะผ ะดะฐะฝะฝั‹ั…, ะฟะพะปัƒั‡ะตะฝะฝั‹ะผ ะฟะพ ัะตั‚ะธ. API ะดะฐั‘ั‚ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะดะพะฑะฐะฒะธั‚ัŒ ัะฒะพะธ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบะธ, ั€ะฐะฑะพั‚ะฐัŽั‰ะธะต ั ะดะฐะฝะฝั‹ะผะธ ะฟะพ ะผะตั€ะต ะฟะพัั‚ัƒะฟะปะตะฝะธั ะธะฝั„ะพั€ะผะฐั†ะธะธ ะฟะพ ัะตั‚ะธ, ะฝะต ะดะพะถะธะดะฐัััŒ ะทะฐะณั€ัƒะทะบะธ ะฒัะตะณะพ ั„ะฐะนะปะฐ. ะ’ Node.js ะดะพัั‚ัƒะฟะฝั‹ ั‚ะฐะบะธะต ะพะฑัŠะตะบั‚ั‹, ะบะฐะบ ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream ะธ DecompressionStream.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ัะบัะฟะตั€ะธะผะตะฝั‚ะฐะปัŒะฝะฐั ั€ะตะฐะปะธะทะฐั†ะธั ะบะปะธะตะฝั‚ะฐ WebSocket, ัะพะฒะผะตัั‚ะธะผะฐั ั ะฑั€ะฐัƒะทะตั€ะฐะผะธ. ะ”ะปั ะฒะบะปัŽั‡ะตะฝะธั ะฟะพะดะดะตั€ะถะบะธ WebSocket ะฟั€ะตะดัƒัะผะพั‚ั€ะตะฝ ั„ะปะฐะณ ยซโ€”experimental-websocketยป.
  • ะ”ะพะฑะฐะฒะปะตะฝ ัะบัะฟะตั€ะธะผะตะฝั‚ะฐะปัŒะฝั‹ะน ั€ะตะถะธะผ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ั€ะตะฐะปะธะทะฐั†ะธะธ JavaScript-ะผะพะดัƒะปะตะน ESM (ECMAScript Modules, ะฟั€ะธะผะตะฝัะตั‚ัั ะฒ ะผะพะดัƒะปัั… ะดะปั ะฑั€ะฐัƒะทะตั€ะพะฒ) ะฒะผะตัั‚ะพ CommonJS (ัะฟะตั†ะธั„ะธั‡ะตะฝ ะดะปั Node.js). ะ˜ะทะผะตะฝะตะฝะธะต ะฝะต ะทะฐั‚ั€ะฐะณะธะฒะฐะตั‚ ะผะพะดัƒะปะธ, ั„ะพั€ะผะฐั‚ ะบะพั‚ะพั€ั‹ั… ัะฒะฝะพ ะพะฟั€ะตะดะตะปั‘ะฝ ั‡ะตั€ะตะท ะฟะพะปะต ยซtypeยป ะฒ package.json, ะทะฐะดะฐะฝ ั‡ะตั€ะตะท ั„ะปะฐะณ ยซโ€”input-typeยป ะธะปะธ ะพั‡ะตะฒะธะดะตะฝ ะฒ ัะธะปัƒ ั€ะฐััˆะธั€ะตะฝะธั ั„ะฐะนะปะฐ (.mjs ะดะปั ESM, .cjs ะดะปั CommonJS). ะŸั€ะธ ัั‚ะพะผ ะผะพะดัƒะปะธ, ะบะพั‚ะพั€ั‹ะต ัะฒะฝะพ ะฝะต ะพะฟั€ะตะดะตะปะตะฝั‹ ะบะฐะบ CommonJS (ะฝะฐะฟั€ะธะผะตั€, ะธะผะตัŽั‚ ั€ะฐััˆะธั€ะตะฝะธะต ยซ.jsยป), ะฟั€ะธ ะฒะบะปัŽั‡ะตะฝะธะธ ะฝะพะฒะพะณะพ ั€ะตะถะธะผะฐ ะฑัƒะดัƒั‚ ะฒะพัะฟั€ะธะฝะธะผะฐั‚ัŒัั ะบะฐะบ ะผะพะดัƒะปะธ ESM. ะ”ะปั ะฐะบั‚ะธะฒะฐั†ะธะธ ะฝะพะฒั‹ั… ะฝะฐัั‚ั€ะพะตะบ ะผะพะดัƒะปะตะน ะฟั€ะตะดะปะพะถะตะฝ ั„ะปะฐะณ ยซโ€”experimental-default-typeยป.
  • ะ”ะฒะธะถะพะบ V8 ะพะฑะฝะพะฒะปั‘ะฝ ะดะพ ะฒะตั€ัะธะธ 11.8, ะฟั€ะธะผะตะฝัะตะผะพะน ะฒ Chromium 118, ะฒ ะบะพั‚ะพั€ะพะผ ะฟะพัะฒะธะปะฐััŒ ะฟะพะดะดะตั€ะถะบะฐ ะผะตั‚ะพะดะฐ ArrayBuffer.prototype.transfer, ะฒะพะทะผะพะถะฝะพัั‚ะธ ะณั€ัƒะฟะฟะธั€ะพะฒะบะธ ะผะฐััะธะฒะพะฒ (ะผะตั‚ะพะด groupBy) ะธ WebAssembly-ะธะฝัั‚ั€ัƒะบั†ะธะน ะพะฑั€ะฐะฑะพั‚ะบะธ ะบะพะฝัั‚ะฐะฝั‚ (i32.add, i32.sub, i32.mul, i64.add, i64.sub ะธ i64.mul).
  • ะŸั€ะตะบั€ะฐั‰ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบะฐ globalPreload, ะฒะผะตัั‚ะพ ะบะพั‚ะพั€ะพะณะพ ะดะปั ะฝะฐัั‚ั€ะพะนะบะธ ะผะพะดัƒะปะตะน ัะปะตะดัƒะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฒั‹ะทะพะฒั‹ register ะธ initialize.
  • ะ’ ั„ัƒะฝะบั†ะธัŽ fs.writeFile ะดะพะฑะฐะฒะปะตะฝะฐ ะพะฟั†ะธั ยซflushยป ะดะปั ะฟั€ะธะฝัƒะดะธั‚ะตะปัŒะฝะพะณะพ ัะฑั€ะพัะฐ ะดะฐะฝะฝั‹ั… ะฝะฐ ะฝะฐะบะพะฟะธั‚ะตะปัŒ ะฟะพัะปะต ะบะฐะถะดะพะน ะพะฟะตั€ะฐั†ะธะธ ะทะฐะฟะธัะธ.
  • ะŸะพะฒั‹ัˆะตะฝะฐ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะบะพะดะฐ, ัะฒัะทะฐะฝะฝะพะณะพ ั ั€ะฐะทะฑะพั€ะพะผ URL, API fetch, streams, node:fs ะธ HTTP.
  • ะ”ะพะฑะฐะฒะปะตะฝ ะณะปะพะฑะฐะปัŒะฝั‹ะน ะพะฑัŠะตะบั‚ navigator. ะะฐะฟั€ะธะผะตั€, ะดะปั ะฟะพะปัƒั‡ะตะฝะธั ะดะฐะฝะฝั‹ั… ะพ ั‡ะธัะปะต ัะดะตั€ CPU ะผะพะถะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัะฒะพะนัั‚ะฒะพ navigator.hardwareConcurrency.
  • ะ’ ะฟะฐั€ะฐะผะตั‚ั€ะต ยซโ€”testยป ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ glob-ะผะฐัะพะบ ะดะปั ะฒั‹ะฑะพั€ะฐ ะทะฐะฟัƒัะบะฐะตะผั‹ั… ั‚ะตัั‚ะพะฒ (ะฝะฐะฟั€ะธะผะตั€, ะผะพะถะฝะพ ัƒะบะฐะทะฐั‚ัŒ ยซโ€”test **/*.test.js.ยป).
  • ะžะฑะฝะพะฒะปะตะฝั‹ ะฒั…ะพะดัั‰ะธะต ะฒ ะบะพะผะฟะปะตะบั‚ ะฟะฐะบะตั‚ะฝั‹ะน ะผะตะฝะตะดะถะตั€ npm 10.2.0 ะธ ะฟะฐั€ัะตั€ llhttp 9.1.2.
  • ะŸั€ะตะบั€ะฐั‰ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ Visual Studio 2019 ะธ ะฒะตั€ัะธะน macOS ัั‚ะฐั€ะตะต 11.0.

เปเบžเบฅเบ”เบŸเบญเบก 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

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