Үчүнчү тараптын API'лерин колдонуу
Өзүңүз жазбаган кызматтар менен сүйлөшүңүз жана алар бузулганда аман калыңыз
- Node'дон камтылган
fetchменен JSON API'ге кайрылуу, - аутентификация баштарын (Bearer токендер жана API ачкычтар) коопсуз жөнөтүү,
- жыштык чектөөлөрүн (HTTP 429 жана
Retry-After) таануу жана сактоо, - таймаут, кайталоо жана экспоненциалдык кечигүү менен туруктуу чакырууларды куруу,
axiosкачанfetch'ке караганда өзүн актаарын чечүү.
1. "API'ни колдонуу" чын эле эмнени билдирет
Үчүнчү тараптын API'си - башка бирөөгө таандык HTTP кызматы. Сиз клиентсиз: суроо-талап жөнөтөсүз, алар жооп кайтарат, көбүнчө JSON форматында. Сиздин Node программаңыз алардын маалыматынын же аракеттеринин керектөөчүсү болуп калат.
Салыштыруу. API'ге кайрылуу ресторанда буйрутма берүүгө окшош. Сиз (клиент) менюну (документацияны) окуйсуз, ашкана күткөн форматта буйрутма бересиз (суроо-талап), эгер жай мүчөлөр үчүн гана болсо картаңызды көрсөтөсүз (аутентификация башы). Ашкана ашыкча жүктөлүп, күтүүнү сурашы мүмкүн (жыштык чектөө), тамак түгөнүшү мүмкүн (ката статусу). Кылдат конок мунун баарын пландайт, ар бир буйрутма заматта жана мүчүлүшсүз келет деп ойлобойт.
Node 18'ден баштап браузердик стилдеги fetch функциясы камтылган - пакет керек эмес. Ал Promise кайтарат, ошондуктан аны async/await менен колдоносуз - сизде мурдатан бар көндүмдөр:
// Node 18+ : fetch глобалдуу, импорт керек эмес
const res = await fetch('https://api.github.com/users/nodejs');
const data = await res.json();
console.log(data.name, data.public_repos);
Эки await, эки этап: fetch(...) баштар келгенде бүтөт, ал эми res.json() - бүт дене окулуп, талданганда. Бул эки этапты акылыңызда бөлүк кармаңыз: көп каталар алардын ортосундагы боштукта жашырынат.