חדש ב Node 18 - תמיכה מובנית ב Fetch API

25/04/2022

פוסט זה מכיל טיפ קצר על עבודה עם Node.JS. כדי ללמוד Node.JS הרבה יותר לעומק אני ממליץ לכם לבדוק את קורס Node.JS כאן באתר. הקורס כולל עשרות שיעורי וידאו מוקלטים והמון תרגול שילוו אתכם מהצעד הראשון בעבודה עם Node.JS ועד הנושאים המתקדמים.

גירסה 18 של נוד מביאה איתה לא מעט חידושים: התמיכה ב ES Modules השתפרה פלאים, הוסיפו מודול מובנה להרצת בדיקות יחידה, ונוספה תמיכה לשני ממשקי רשת מהדפדפן שהם Fetch API ו Web Streams API.

בפוסט זה אציג את השימוש ב Fetch API ב Node.

1. דוגמת Fetch API ופוקימונים

פוקי API הוא אתר דוגמה מעולה לבדיקת בקשות API. אתם פונים לנתיב על שרת זה ויכולים לקבל חזרה מידע על פוקימונים. לדוגמה הקישור:

https://pokeapi.co/api/v2/pokemon/ditto

ייתן לכם מידע על הפוקימון שקוראים לו ditto.

עד עכשיו בשביל לשלוף את המידע הזה מתוכנית Node.JS היינו צריכים להתקין חבילה חיצונית או לעבוד קשה ולטפל בכל מיני מקרי קצה לא מעניינים. החל מ Node 18 אפשר לכתוב תוכנית כזאת כדי להציג את כל המידע:

async function main() {
  const res = await fetch('https://pokeapi.co/api/v2/pokemon/ditto');

  if (res.ok) {
    const data = await res.json();
    console.log(data);
  }
}

main();

כרגע התמיכה עדיין ניסיונית וכשמריצים את התוכנית מקבלים את הודעת האזהרה:

(node:44313) ExperimentalWarning: The Fetch API is an experiment
al feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was c
reated)

אם לא מפריע לכם שאולי תצטרכו לשנות חלק מהקוד בעתיד, או אם אתם כותבים סקריפטים קטנים שעוד מעט ייזרקו, שווה להתחיל לשלב את fetch בתוכניות שלכם. לדברים יותר חשובים אפשר לחכות ל node 20. בכל מקרה כיף לראות את החיבור בין Node לדפדפן ואת האפשרויות שהוא פותח לשיתוף קוד בין שתי הסביבות.