@svkhrobbeck/fetcher
v2.4.8
Published
Fetcher — bu Axiosdan ilhomlangan to'liq xususiyatli HTTP kutubxonasi bo'lib, zamonaviy JavaScript muhitlarida HTTP so'rovlarini amalga oshirishni soddalashtiradi. Fetcher sizga qulay interfeys, so'rovlarni bekor qilish, interceptorlar, xatoliklarni boshq
Downloads
101
Readme
Fetcher Library
Fetcher — bu Axiosdan ilhomlangan to'liq xususiyatli HTTP kutubxonasi bo'lib, zamonaviy JavaScript muhitlarida HTTP so'rovlarini amalga oshirishni soddalashtiradi. Fetcher sizga qulay interfeys, so'rovlarni bekor qilish, interceptorlar, xatoliklarni boshqarish va boshqa ko'plab imkoniyatlarni taqdim etadi.
Imkoniyatlar
- So'rov va Javob Interceptorlari: Har bir so'rov yoki javobdan oldin yoki keyin maxsus logikalarni bajaring.
- Bekor Qilish Qo'llab-quvvatlovi (Cancel Token): Istalgan paytda so'rovlarni bekor qilish va boshqarish.
- So'rov va Javob Ma'lumotlarini Transformatsiya qilish: Ma'lumotlarni o'zgartirish uchun
transformData
funksiyasidan foydalaning. - Xatoliklarni Aniq Ko'rsatish (FetcherError): Xatoliklarni boshqarish uchun aniq va to'liq xatolik xabarlari.
- Adapter Qo'llab-quvvatlovi: Har xil muhitlar (masalan, brauzer va Node.js) uchun mos adapterlar (
fetch
vaxhr
). - Kengaytiriladigan Konfiguratsiyalar: Standart va maxsus konfiguratsiyalarni birlashtirish.
- Avtomatik URL Yaratish: Parametrlarni qulay tarzda qo'shib, URL yaratish.
- Promisified API: Kutish (
await
) vaPromise
asosida ishlash.
O'rnatish
Fetcher kutubxonasini NPM orqali o'rnating:
npm install @svkhrobbeck/fetcher
Yoki Yarn orqali:
yarn add @svkhrobbeck/fetcher
Foydalanish Ko'rsatmalari
Oddiy GET So'rovi
import fetcher from "@svkhrobbeck/fetcher";
fetcher
.get("https://api.example.com/data")
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error("Error fetching data:", error);
});
POST So'rovi bilan Ma'lumot Yuborish
fetcher
.post("https://api.example.com/users", {
name: "Ichigo Kurosaki",
email: "[email protected]"
})
.then(response => {
console.log("User created:", response.data);
})
.catch(error => {
console.error("Error creating user:", error);
});
So'rovlarni Bekor Qilish
const { token, cancel } = fetcher.CancelToken.source();
fetcher
.get("https://api.example.com/data", {
cancelToken: token
})
.catch(error => {
if (fetcher.isCancel(error)) {
console.log("Request canceled:", error.message);
} else {
console.error("Error:", error);
}
});
// So'rovni istalgan vaqtda bekor qilish
cancel("Operation canceled by the user.");
Interceptorlardan Foydalanish
// So'rov Interceptori
fetcher.interceptors.request.use(
config => {
console.log("Request started:", config);
return config;
},
error => {
return Promise.reject(error);
}
);
// Javob Interceptori
fetcher.interceptors.response.use(
response => {
console.log("Response received:", response);
return response;
},
error => {
return Promise.reject(error);
}
);
So'rovlarni Yaratish
Fetcher bilan moslashtirilgan instansiyani yaratish va undan foydalanish:
const customFetcher = fetcher.create({
baseURL: "https://api.example.com",
headers: {
Authorization: "Bearer YOUR_ACCESS_TOKEN"
}
});
customFetcher
.get("/protected-data")
.then(response => console.log(response.data))
.catch(error => console.error("Error fetching protected data:", error));
Imkoniyatlarning To'liq Ro'yxati
- Interceptor Manager: So'rov va javob interceptorlarini boshqarish imkoniyati.
- FetcherError: Xatoliklarni aniq va to'liq ko'rsatish uchun yangi sinf.
- Cancel Token: So'rovlarni bekor qilish uchun kuchli mexanizm.
- Transform Data: Ma'lumotlarni kerakli formatga o'zgartirish.
- Adapter Qo'llab-quvvatlash: Fetch va XHR adapterlari.
- Kengaytiriladigan Konfiguratsiyalar: Moslashuvchan va kengaytiriladigan konfiguratsiyalar.
- Promisified API:
await
vaPromise
yordamida ishlashni soddalashtiradi. - Avtomatik URL Yaratish: Query parametrlar va URL yaratish uchun yordamchi funksiya.
- Kengaytiriladigan Sozlamalar: Yangi instansiyalar yaratish va konfiguratsiyalarni boshqarish imkoniyati.
Kutubxona Yozuvchisi
- Muallif: Suhrobbek Soatov
- GitHub: svkhrobbeck