Bộ đón chặn
Bạn có thể đón chặn request hoặc response trước khi chúng được xử trí bởi then
hay catch
.
// Thêm một bộ đón chặn request
axios.interceptors.request.use(function (config) {
// Làm gì đó trước khi request dược gửi đi
return config;
}, function (error) {
// Làm gì đó với lỗi request
return Promise.reject(error);
});
// Thêm một bộ đón chặn response
axios.interceptors.response.use(function (response) {
// Bất kì mã trạng thái nào nằm trong tầm 2xx đều khiến hàm này được trigger
// Làm gì đó với dữ liệu response
return response;
}, function (error) {
// Bất kì mã trạng thái nào lọt ra ngoài tầm 2xx đều khiến hàm này được trigger\
// Làm gì đó với lỗi response
return Promise.reject(error);
});
Nếu sau đó bạn cần gỡ một bộ đón chặn nào đó ra thì bạn có thể
const myInterceptor = axios.interceptors.request.use(function () {/*...*/});
axios.interceptors.request.eject(myInterceptor);
Bạn cũng có thể thêm bộ đón chặn vào instance axios tự đặt.
const instance = axios.create();
instance.interceptors.request.use(function () {/*...*/});