I would like to stop a request when the database is offline or when there is a problem with the backend conexion, but I don't know how to do this.
My Axios settings are as follows:
import axios from "axios";
import AsyncStorage from '@react-native-async-storage/async-storage';
const baseURL = 'http://192.168.1.43:4000/server';
const gestorMedicoApi = axios.create({ baseURL});
gestorMedicoApi.interceptors.request.use(
async (config) => {
const token = await AsyncStorage.getItem('token');
if (token) {
config.headers!['x-token'] = token;
}
return config;
}
)
export default gestorMedicoApi;
And an request example is the following:
const signUp = async ({ nombreEmpresa, email, telefono, contraseña }: RegisterData) => {
try {
const resp = await gestorMedicoApi.post<Response>('/user/createUser', { nombreEmpresa, email, telefono, contraseña });
dispatch({
type: 'signUp',
payload: {response: resp.data}
})
} catch (error: any) {
dispatch({ type: 'addError', payload: {response: {status: "NOK", message: "Se ha producido un error al conectar con la base de datos."}} })
}
};
If the next line fails:
const resp = await gestorMedicoApi.post<Response>('/user/createUser', { nombreEmpresa, email, telefono, contraseña });
The flow go into the catch, but the request tries to conect again and again, so I would like to stop the request if it fails.
How can I get it?