การใช้ Node.js Fetch API: คู่มือฉบับสมบูรณ์

Node.js Fetch API: ดึงข้อมูล HTTP ง่ายๆ ด้วยการทำงานแบบ Asynchronous ช่วยให้การพัฒนาเว็บมีประสิทธิภาพมากขึ้น

อาชว์

อาชว์

4 June 2025

การใช้ Node.js Fetch API: คู่มือฉบับสมบูรณ์

Node.js Fetch API ได้กลายเป็นเสาหลักของการพัฒนา JavaScript สมัยใหม่ ทำให้กระบวนการสร้างคำขอ HTTP แบบอะซิงโครนัสเป็นไปอย่างคล่องตัว คู่มือที่ครอบคลุมนี้เจาะลึกถึงความซับซ้อนของ Fetch ช่วยให้คุณดึงข้อมูล โต้ตอบกับบริการเว็บ และสร้างแอปพลิเคชันที่แข็งแกร่งได้อย่างง่ายดาย

💡
การเขียนโปรแกรมเว็บแอป, APIs และระบบต่างๆ กำหนดให้นักพัฒนาต้องมีความรู้จากหลายๆ ด้าน - ด้านหนึ่งที่ควรกล่าวถึงคือภาษาโปรแกรม

หากคุณกำลังดิ้นรนกับการเรียนรู้ภาษาโปรแกรมต่างๆ คุณควรลองใช้ Apidog ซึ่งเป็นเครื่องมือ API ที่ครอบคลุม ด้วย Apidog คุณสามารถสร้างโค้ดไคลเอนต์ได้ด้วยการคลิกเมาส์เพียงไม่กี่ครั้ง

หากคุณต้องการปรับเวิร์กโฟลว์การพัฒนา API ของคุณให้เหมาะสม คุณสามารถเริ่มต้นได้เลยวันนี้โดยคลิกที่ปุ่มด้านล่างเพื่อดาวน์โหลด Apidog! 👇
button

ไม่ว่าคุณจะเป็นนักพัฒนาที่มีประสบการณ์หรือเพิ่งเริ่มต้นการเดินทาง JavaScript ของคุณ การสำรวจเชิงลึกนี้จะช่วยให้คุณมีความรู้และเทคนิคในการใช้ประโยชน์จากศักยภาพทั้งหมดของ Fetch ภายในโปรเจกต์ Node.js ของคุณ

Node.js Fetch คืออะไร

Node.js Fetch API เป็นกลไกมาตรฐานสำหรับการเริ่มต้นคำขอ HTTP แบบอะซิงโครนัสจากภายในแอปพลิเคชัน Node.js มันมีวิธีการตามสัญญา โดยนำเสนอไวยากรณ์ที่สะอาดและกระชับกว่าเมื่อเทียบกับวิธีการ XMLHttpRequest (XHR) แบบเก่า

Fetch ช่วยให้นักพัฒนาสามารถดึงข้อมูลจากเว็บเซิร์ฟเวอร์ต่างๆ โต้ตอบกับ APIs และจัดการการไหลของข้อมูลภายในโปรแกรม Node.js ของพวกเขา มันทำให้การจัดการข้อผิดพลาดง่ายขึ้นและปรับปรุงการดำเนินงานแบบอะซิงโครนัส ทำให้เกิดวิธีการสื่อสาร HTTP ที่ทันสมัยและมีประสิทธิภาพมากขึ้นในสภาพแวดล้อม Node.js

ประโยชน์ของการใช้ Node.js Fetch

1.ไวยากรณ์ที่สะอาดและกระชับกว่า:

2.การจัดการแบบอะซิงโครนัสตามสัญญา

3.การจัดการข้อผิดพลาดที่คล่องตัว

4. การแยกวิเคราะห์ JSON อัตโนมัติ:

5.การอ่านและการบำรุงรักษาที่ดีขึ้น

6.การสนับสนุนในตัวสำหรับส่วนหัวและเนื้อหา

7.ความยืดหยุ่นและการกำหนดค่า

ข้อเสียที่อาจเกิดขึ้นกับ Node.js Fetch

1.การสนับสนุนเบราว์เซอร์ที่จำกัด (บรรเทาบางส่วน)

2.ไม่ใช่การแทนที่สำหรับทุกสถานการณ์

3.ลักษณะ Single-Threaded ของ Node.js

ตัวอย่างโค้ดที่แสดง Node.js Fetch API

1. คำขอ GET พื้นฐาน

const fetch = require('node-fetch');

const url = 'https://api.example.com/data';

fetch(url)
  .then(response => response.json())
  .then(data => {
    console.log('Retrieved data:', data);
  })
  .catch(error => {
    console.error('Error fetching data:', error);
  });

คำอธิบายโค้ด:

โค้ดดึงข้อมูลจาก URL ที่ระบุโดยใช้คำขอ GET จากนั้นแยกวิเคราะห์การตอบสนอง JSON และบันทึกข้อมูลที่ดึงมา หากพบข้อผิดพลาด จะบันทึกข้อความแสดงข้อผิดพลาด

2. คำขอ POST พร้อมข้อมูล JSON

const fetch = require('node-fetch');

const url = 'https://api.example.com/data';
const data = { name: 'John Doe', age: 30 };

fetch(url, {
  method: 'POST',
  body: JSON.stringify(data),
  headers: { 'Content-Type': 'application/json' }
})
  .then(response => response.json())
  .then(data => {
    console.log('Data posted successfully:', data);
  })
  .catch(error => {
    console.error('Error posting data:', error);
  });

คำอธิบายโค้ด:

ตัวอย่างโค้ดแสดงการส่งคำขอ POST พร้อมข้อมูล JSON มันแปลงอ็อบเจกต์ข้อมูลเป็นสตริงและตั้งค่าส่วนหัวที่เหมาะสมก่อนทำการร้องขอ

3. การจัดการข้อผิดพลาดด้วยรหัสสถานะ

const fetch = require('node-fetch');

const url = 'https://api.example.com/data/invalid';

fetch(url)
  .then(response => {
    if (!response.ok) {
      throw new Error(`Error: ${response.status} - ${response.statusText}`);
    }
    return response.json();
  })
  .then(data => {
    console.log('Retrieved data:', data);
  })
  .catch(error => {
    console.error('Error fetching data:', error);
  });

คำอธิบายโค้ดด้านบนแสดงการตรวจสอบรหัสสถานะการตอบสนองก่อนประมวลผลข้อมูล หากการตอบสนองระบุข้อผิดพลาด (รหัสสถานะนอกเหนือจาก 200) จะเกิดข้อผิดพลาดที่กำหนดเองสำหรับการจัดการ

4. การดึงเนื้อหาข้อความ

const fetch = require('node-fetch');

const url = 'https://www.example.com/about';

fetch(url)
  .then(response => response.text())
  .then(text => {
    console.log('Retrieved HTML content:', text.slice(0, 100)); // Limit output for brevity
  })
  .catch(error => {
    console.error('Error fetching content:', error);
  });

ตัวอย่างนี้ดึงเนื้อหาของเว็บไซต์และแสดงการใช้เมธอด .text() เพื่อดึงการตอบสนองเป็นข้อความธรรมดา

Apidog - ข้ามขั้นตอนการเขียนโค้ดโดยการสร้างโค้ด

การเขียนโค้ด APIs ของคุณเองนั้นไม่มีประสิทธิภาพอีกต่อไป โดยเฉพาะอย่างยิ่งกับจำนวนองค์ประกอบอื่นๆ ที่คุณต้องตรวจสอบให้แน่ใจว่าทำงานได้ ดังนั้น คุณควรพิจารณาใช้ Apidog ซึ่งเป็นแพลตฟอร์มการพัฒนา API แบบ all-in-one ที่ให้ผู้ใช้มีสภาพแวดล้อมในการสร้าง ทดสอบ จำลอง และจัดทำเอกสาร APIs

apidog interface
button

สร้างโค้ดไคลเอนต์ Fetch ด้วย Apidog

Apidog มอบฟีเจอร์การสร้างโค้ดไคลเอนต์ให้กับผู้ใช้ ทำให้พวกเขาสามารถสร้างโค้ดที่จำเป็นสำหรับการพัฒนาได้อย่างรวดเร็ว ซึ่งจะช่วยเร่งกระบวนการพัฒนา API ประหยัดทั้งเวลาและความพยายามสำหรับนักพัฒนาในการส่งต่อไปยังที่อื่นที่เร่งด่วนกว่า

generate code button apidog

ขั้นแรก ให้ค้นหาปุ่ม </> ที่อยู่รอบๆ ด้านบนขวาของหน้าต่าง Apidog จากนั้น กด Generate Client Code เพื่อดำเนินการสร้างโค้ด

generate fetch api client code apidog

ถัดไป คุณจะได้รับการต้อนรับด้วยหน้าต่างป๊อปอัป เลือก JavaScript จากนั้นส่วนหัว Fetch บนหน้าจอของคุณ คุณควรมีโค้ดหลายบรรทัดพร้อมให้คุณคัดลอกและวางลงใน IDE (Integrated Development Environment) ของคุณ

การทดสอบ API Endpoints โดยใช้ Apidog

หลังจากที่คุณทำการนำเข้าโค้ดไคลเอนต์และขั้นตอนการออกแบบ API เสร็จสิ้น คุณควรดำเนินการทดสอบ API ของคุณ

หากต้องการกำหนดเป้าหมาย API endpoint ที่ถูกต้อง ก่อนอื่นคุณต้องแทรก API endpoint ที่เกี่ยวข้องที่คุณต้องการทดสอบ เมื่อคุณรวม API URL ที่ต้องการแล้ว ให้รวมพารามิเตอร์ที่คุณต้องการใช้สำหรับ endpoint (ถ้าเกี่ยวข้อง)

ในกรณีที่คุณไม่คุ้นเคยกับการ ส่งผ่านพารามิเตอร์หลายรายการ ใน API URL โปรดดูบทความนี้เพื่อดูวิธีที่คุณสามารถกำหนดเป้าหมายทรัพยากรภายในคอลเลกชันข้อมูลจำนวนมากได้อย่างเจาะจง!

บทสรุป

Node.js Fetch API ได้กลายเป็นเครื่องมือที่ทรงพลังและหลากหลายสำหรับการสร้างแอปพลิเคชัน Node.js สมัยใหม่ ด้วยการใช้ Promises และนำเสนอไวยากรณ์ที่สะอาดกว่า Fetch ทำให้คำขอ HTTP แบบอะซิงโครนัสง่ายขึ้น ปรับปรุงการจัดการข้อผิดพลาด และปรับปรุงการอ่านโค้ด

ไม่ว่าคุณจะเป็นนักพัฒนาที่มีประสบการณ์หรือเริ่มต้นการเดินทาง JavaScript ของคุณ คู่มือที่ครอบคลุมนี้ได้มอบความรู้และตัวอย่างการปฏิบัติจริงให้กับคุณเพื่อใช้ประโยชน์จากศักยภาพทั้งหมดของ Fetch ภายในโปรเจกต์ Node.js ของคุณ

เมื่อคุณรวม Fetch เข้ากับเวิร์กโฟลว์การพัฒนาของคุณ คุณจะได้รับประโยชน์จากการดึงข้อมูลที่มีประสิทธิภาพ การโต้ตอบที่ราบรื่นกับบริการเว็บ และความสามารถในการสร้างแอปพลิเคชันที่แข็งแกร่งและบำรุงรักษาได้

หากคุณรู้สึกอยากใช้เฟรมเวิร์ก Node.js Fetch API แต่ไม่มีความรู้ด้านการเขียนโค้ดที่จำเป็น คุณสามารถพึ่งพา Apidog เพื่อให้คุณสร้างโค้ดโดยอัตโนมัติได้เสมอ ด้วยการลบข้อกำหนดให้คุณเรียนรู้ภาษาโปรแกรมทั้งหมดตั้งแต่เริ่มต้น คุณสามารถส่งต่อความพยายามของคุณไปยังส่วนที่คุณเชี่ยวชาญได้ ซึ่งจะช่วยสร้างแอปพลิเคชันที่ดีขึ้นในระยะยาว!

Explore more

สร้างทางเลือกสำหรับ Claude Web Search แบบ Open Source (พร้อมเซิร์ฟเวอร์ Firecrawl MCP)

สร้างทางเลือกสำหรับ Claude Web Search แบบ Open Source (พร้อมเซิร์ฟเวอร์ Firecrawl MCP)

สำหรับองค์กรที่ต้องการควบคุม, ปรับแต่ง, หรือความเป็นส่วนตัวมากกว่าการค้นหาเว็บของ Claude, การสร้างทางเลือกโดยใช้ Firecrawl เป็นทางออกที่ดี มาเรียนรู้กัน!

21 March 2025

10 อันดับทางเลือกที่ดีที่สุดสำหรับการเล่นวินเซิร์ฟสำหรับนักเขียนโค้ดที่ชอบความรู้สึกในปี 2025

10 อันดับทางเลือกที่ดีที่สุดสำหรับการเล่นวินเซิร์ฟสำหรับนักเขียนโค้ดที่ชอบความรู้สึกในปี 2025

ค้นพบ 10 ทางเลือก Windsurf ปี 2025 ปรับปรุงการเขียนโค้ด เหมาะสำหรับนักพัฒนาที่ต้องการโซลูชันการเขียนโค้ดที่มีประสิทธิภาพ ปลอดภัย และหลากหลาย

20 March 2025

Figma มีเซิร์ฟเวอร์ MCP แล้ว และนี่คือวิธีใช้งาน

Figma มีเซิร์ฟเวอร์ MCP แล้ว และนี่คือวิธีใช้งาน

ค้นพบวิธีเชื่อมต่อ Figma MCP กับ AI เช่น Cursor เพื่อสร้างโค้ดอัตโนมัติ เหมาะสำหรับนักพัฒนาและนักออกแบบ

20 March 2025

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API