У меня есть часть моего кода, которая выполняет несколько вызовов API для разных конечных точек, и я хочу знать, если какой-либо из этих вызовов завершится неудачно, чтобы я мог отобразить соответствующее сообщение об ошибке.Прямо сейчас, если ошибка произойдет в one()
, это остановит все остальные вызовы, но это не то, чего я хочу;Если возникает ошибка, я хочу, чтобы она заполнила объект errors
и программа продолжила работу.
async function gatherData() {
let errors = { one: null, two: null, three: null };
const responseOne = await one(errors);
const responseTwo = await two(errors);
const responseThree = await three(errors);
if (!_.isNil(errors.one) || !_.isNil(errors.two) || !_.isNil(errors.three)) {
// an error exists, do something with it
} else {
// data is good, do things with responses
}
}
gatherData();
async function one(errors) {
await axios
.get("https://jsonplaceholder.typicode.com/comment")
.then(res => {
return res;
})
.catch(err => {
errors.one = err;
return err;
});
}
async function two(errors) {
await axios
.get("https://jsonplaceholder.typicode.com/comments")
.then(res => {
return res;
})
.catch(err => {
errors.two = err;
return err;
});
}
async function three(errors) {
await axios
.get("https://jsonplaceholder.typicode.com/comments")
.then(res => {
return res;
})
.catch(err => {
errors.three = err;
return err;
});
}