Zastanawiam się, w jaki sposób mogę zwrócić obietnicę z Axios? Nie jestem pewien, czy potrzebuję użyć Interceptorów?Powitanie obietnicy od Axios?
Mam ten kod teraz
export function fetchStorage() {
return function (dispatch) {
return new Promise(function(resolve, reject) {
if (1 === 1) {
resolve('it works!');
} else {
reject(':(');
}
});
};
}
i
this.props.fetchStorage().then(function() {
console.log('then');
});
teraz powiedzieć, że chce zmienić fetchStorage coś zrobić za pośrednictwem ajax i chciałbym mieć go jak
var instance = axios.create({
baseURL: 'http://localhost:54690/api',
timeout: 2000,
});
instance.get('/Storage/Get')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
jak mogę zwrócić obietnicę, zamiast robić to tutaj?
Edit
Tylko dla wyjaśnienia dlaczego robię to ja mam coś takiego
componentWillMount() {
this.props.setPreLoader(true);
this.props.fetchStorage().then(function() {
this.props.setPreLoader(false);
});
}
export function fetchStorage() {
return function (dispatch) {
return new Promise(function (resolve, reject) {
axiosInstant.get('/Storage/Get')
.then(function (response) {
let payload = response.data;
console.log(payload);
dispatch({ type: actions.FETCH_STORAGE, payload: { storages: payload } });
})
.catch(function (error) {
console.log(error);
});
});
};
}
Dlaczego nie 'instance.get powrotu ('/ Przechowywanie/Get ")" Czy coś tu brakuje? –
cóż, używam wzoru redux, więc muszę wysłać przesyłkę i jeśli po prostu wrócę tak jak ty, to zawsze muszę pamiętać, aby wysłać tę wysyłkę za każdym razem, gdy używam tej funkcji. – chobo2
@ chobo2 Nie rozumiem, dlaczego nie zwróciłeś obietnicy, którą już daje ci aksios. –