Tôi tự hỏi làm thế nào để tôi quay trở lại một hình thức hứa hẹn Axios? Tôi không chắc liệu mình có cần sử dụng Interceptor không?Trả lời lời hứa từ Axios?
tôi có mã này ngay bây giờ
export function fetchStorage() {
return function (dispatch) {
return new Promise(function(resolve, reject) {
if (1 === 1) {
resolve('it works!');
} else {
reject(':(');
}
});
};
}
và
this.props.fetchStorage().then(function() {
console.log('then');
});
Bây giờ nói rằng tôi muốn thay đổi fetchStorage để làm điều gì đó qua ajax và tôi sẽ có nó như
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);
});
Tôi làm cách nào để trả lại lời hứa thay vì thực hiện ở đây?
Sửa
Chỉ cần làm rõ lý do tại sao tôi làm điều này tôi có một cái gì đó giống như mẫu
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);
});
});
};
}
Tại sao không 'trở lại instance.get ('/lưu trữ/Get ') 'Tôi đang thiếu cái gì ở đây? –
Tôi cũng đang sử dụng mẫu redux nên tôi cần gửi đi công văn và nếu tôi trở lại như bạn có, thì tôi luôn phải nhớ gửi đi công văn đó mỗi lần tôi sử dụng chức năng đó. – chobo2
@ chobo2 tôi không hiểu tại sao bạn không trả lại lời hứa rằng các trục đã mang lại cho bạn. –