Nodejs 18 & 19 คุณสมบัติใหม่
สวัสดีทุกคน ในบทความนี้เราจะพูดถึงคุณสมบัติบางอย่างของ node js เวอร์ชัน 18 และเวอร์ชัน 19
FindLast & FindLastIndex
วิธีการอาร์เรย์เหล่านี้คล้ายกับ find และ findIndex ฟังก์ชันเหมือนกับ find และ findIndex แต่มีความแตกต่างบางประการ วิธีการเหล่านี้กำลังมองหารายการในอาร์เรย์จากจุดสิ้นสุด
const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }];
array.find(n => n.value % 2 === 1); // { value: 1 }
array.findIndex(n => n.value % 2 === 1); // 0
// find
array.findLast(n => n.value % 2 === 1); // { value: 3 }
// findIndex
array.findLastIndex(n => n.value % 2 === 1); // 2
array.findLastIndex(n => n.value === 42); // -1
ฉันคิดว่าธงนี้สำคัญมาก เราไม่ต้องการ nodemon อีกต่อไปหากเราสามารถใช้แฟล็กนี้ได้ การเรียกใช้แอป Node.js ในโหมดเฝ้าดูจะเริ่มต้นกระบวนการใหม่โดยอัตโนมัติเมื่อไฟล์ที่นำเข้าเปลี่ยนแปลง
node --watch app.js
ก่อน Node.js v18 คุณไม่สามารถใช้ Fetch API ใน Node.js เพื่อขอข้อมูลจาก API ได้ คุณต้องติดตั้ง node-fetch , axios หรือไลบรารีของบุคคลที่สามอื่น ด้วยโหนด js v18 เราไม่ต้องการแพ็คเกจของบุคคลที่สามสำหรับการดึงข้อมูล
async function fetchData() {
const response = await fetch(
"https://random-data-api.com/api/name/random_name"
);
if (response.ok) {
const data = await response.json();
console.log(data);
}
}
fetchData();
วิธีใหม่ในการ 'นำเข้า' โมดูลที่ใช้คำนำหน้า 'node:' ซึ่งทำให้เห็นได้ทันทีว่าโมดูลนั้นมาจาก Node.js core
โมดูลรันเนอร์ทดสอบในตัว
ด้วยการเปิดตัว Node.js v18 ขณะนี้ตัวทดสอบรวมอยู่ใน Node.js และสามารถเข้าถึงได้ด้วย:
const test = require('node:test')
const assert=require('node:assert')
test("My Test", async (t) => {
await t.test("It should equal two numbers", () => {
assert.equal(3, 4);
});
await t.test("It should not equal two numbers", () => {
assert.notEqual(2, 1);
});
});
//node --watch yourfile.js
เครื่องยนต์ V8 อัปเกรดเป็น v10.1
Node.js ทำงานด้วยเครื่องยนต์ V8 จากเบราว์เซอร์โอเพ่นซอร์สของ Chromium เครื่องมือนี้ได้รับการอัปเกรดเป็นเวอร์ชัน 10.1 ซึ่งเป็นส่วนหนึ่งของการอัปเดตล่าสุดใน Chromium 101
HTTP หมดเวลา
หมดเวลา http.server มีการเปลี่ยนแปลง:
headersTimeout(เวลาที่อนุญาตให้แยกวิเคราะห์ส่วนหัวคำขอ HTTP) ตั้งไว้ที่ 60,000 มิลลิวินาที (60 วินาที)requestTimeout(ระยะหมดเวลาที่ใช้สำหรับคำขอ HTTP) ถูกกำหนดเป็น 300,000 มิลลิวินาที (5 นาที) ตามค่าเริ่มต้น
ช่อง Youtube ของฉัน
ทำได้ดีมากทุกคน





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)