posts/ku/instance.md
ئەتوانی نموونەیەکی نوێی ئەکسیۆس دروست بکەیت بە ڕێکخستنێکی کڕیاڕخوازکراو.
const instance = axios.create({
baseURL: 'https://some-domain.com/api/',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
میثۆدەکان کە بەردەستە لە نموونەکە لە خوارەوە دانراوە. ڕێکخستنە دیاریکراوەکە یەک ئەخرێت لەگەڵ ڕێکخستنی نموونەکە.
لەگەڵ میثۆدەکانی ئاسانەوە وەک instance.get() یان instance.post()، دەتوانیت نموونەی ئەکسیۆس بە ڕاستەوخۆییەوە بە بەکارهێنانی ئوبجێکتی ڕێکخستن بانگ بکەیت. ئەمە وەک axios(config) کاردەکات و بە تایبەتی کاتێک بەدوای هەمان ڕێکخستن داواکارییەک دەخەیتەوە بەسوودە.
const instance = axios.create({ baseURL: '/api' });
// وەک axios(config) کاردەکات
instance({
url: '/users',
method: 'get'
});
ئەم ڕێگایە ڕێکخستنێکی پاک بۆ دووبارەکردنەوەی داواکاری دابین دەکات، بۆ نموونە لە کاتی چارەسەرکردنی هەڵەی ڕوونکردنەوە:
instance.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return instance(error.config); // داواکارییەکە دووبارە بنێرە
}
throw error;
});