Axios, JavaScript'te asenkron HTTP istekleri yapmak için kullanılan popüler, promise-tabanlı bir HTTP istemcisidir. Bu Notları ve İpuçları, sık kullanılan Axios fonksiyonlarına ve özelliklerine örneklerle genel bir bakış sunar.
npm install axios
axios.get('/user?ID=12345')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
function getUserAccount() {
return axios.get('/user/12345');
}
function getUserPermissions() {
return axios.get('/user/12345/permissions');
}
Promise.all([getUserAccount(), getUserPermissions()])
.then(function (results) {
const acct = results[0];
const perm = results[1];
});
// POST isteği gönderme
axios({
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
});
// Uzak bir görüntü için GET isteği
axios({
method: 'get',
url: 'http://bit.ly/2mTM3nY',
responseType: 'stream'
})
.then(function (response) {
response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
});
axios.get('/user/12345')
.then(function(response) {
console.log(response.data);
console.log(response.status);
console.log(response.statusText);
console.log(response.headers);
console.log(response.config);
});
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
// Örnek oluştururken varsayılan yapılandırmayı ayarlama
const instance = axios.create({
baseURL: 'https://api.example.com'
});
// Örnek oluşturulduktan sonra varsayılanları değiştirme
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// İstek interceptor'ı ekleme
axios.interceptors.request.use(function (config) {
// İstek gönderilmeden önce bir şeyler yap
return config;
}, function (error) {
// İstek hatası ile bir şeyler yap
return Promise.reject(error);
});
// Yanıt interceptor'ı ekleme
axios.interceptors.response.use(function (response) {
// 2xx aralığındaki durum kodları bu fonksiyonun tetiklenmesine neden olur
// Yanıt verisi ile bir şeyler yap
return response;
}, function (error) {
// 2xx aralığı dışındaki durum kodları bu fonksiyonun tetiklenmesine neden olur
// Yanıt hatası ile bir şeyler yap
return Promise.reject(error);
});
axios.get('/user/12345')
.catch(function (error) {
if (error.response) {
// İstek yapıldı ve sunucu 2xx aralığı dışında bir durum koduyla yanıt verdi
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// İstek yapıldı ancak hiçbir yanıt alınmadı
console.log(error.request);
} else {
// İsteği ayarlarken bir şeyler ters gitti ve bir Hata tetiklendi
console.log('Hata', error.message);
}
console.log(error.config);
});
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
axios.get('/user/12345', {
cancelToken: source.token
}).catch(function(thrown) {
if (axios.isCancel(thrown)) {
console.log('İstek iptal edildi', thrown.message);
} else {
// hatayı işle
}
});
// isteği iptal et (message parametresi isteğe bağlıdır)
source.cancel('İşlem kullanıcı tarafından iptal edildi.');
function getUserAccount() {
return axios.get('/user/12345');
}
function getUserPermissions() {
return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()])
.then(axios.spread(function (acct, perms) {
// Her iki istek de artık tamamlandı
}));
2024 © Tüm hakları saklıdır - buraxta.com