การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก
เขียนตัวช่วย fetch ที่ระบุชนิดและส่งคืนชนิดอย่างปลอดภัย
การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
ยินดีต้อนรับ
ปัญหาของ fetch
const res = await fetch('/api/user');
const data = await res.json(); // data: any — unsafeตัวครอบ fetch แบบทั่วไป
async function fetchJson<T>(url: string): Promise<T> {
const res = await fetch(url);
if (!res.ok) throw new Error(`HTTP error: ${res.status}`);
return res.json() as Promise<T>;
}การใช้ตัวครอบ
interface User { id: number; name: string; }
const user = await fetchJson<User>('/api/users/1');
console.log(user.name); // typed as stringการเพิ่มการจัดการข้อผิดพลาด
async function safeFetch<T>(url: string): Promise<Result<T>> {
try {
const res = await fetch(url);
if (!res.ok) return err(new Error(`HTTP ${res.status}`));
return ok(await res.json() as T);
} catch (e) { return err(e as Error); }
}การกำหนดชนิดตัวเลือกคำขอ
async function postJson<T, B>(url: string, body: B): Promise<T> {
const res = await fetch(url, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(body),
});
return res.json() as Promise<T>;
}การตรวจสอบการตอบกลับ
การกำหนดชนิด AbortController
const ctrl = new AbortController();
const data = await fetchJson<User>('/api/users/1', { signal: ctrl.signal });
setTimeout(() => ctrl.abort(), 5000);ตัวดักจับ URL พื้นฐาน
class ApiClient {
constructor(private baseUrl: string) {}
get<T>(path: string): Promise<T> {
return fetchJson<T>(`${this.baseUrl}${path}`);
}
}ส่วนหัวแบบมีชนิด
const headers: Record<string, string> = {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json',
};ชนิดของการแบ่งหน้า
interface Paginated<T> { data: T[]; page: number; total: number; }
const result = await fetchJson<Paginated<User>>('/api/users?page=1');ตรวจสอบสั้น ๆ
สรุปทบทวน
เรียนรู้ TypeScript ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 101
- บทเรียน
- 352
คำถามที่พบบ่อย
บทเรียน “การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก”
เขียนตัวช่วย fetch ที่ระบุชนิดและส่งคืนชนิดอย่างปลอดภัย คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม
ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก
- การตรวจสอบขณะทำงานด้วย Zod
- การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ
- ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด