Использование express.js
У меня есть 2 API, обслуживающих один и тот же тип данных, у меня есть простое приложение, которое я хочу использовать первое ... Если оно возвращает ошибку, я хочу перейти к следующему ...
То, что я попробовал, это с помощью "вложенных" тогда:
app.get('/player/:userID', (req, res) =>
fetch('https://api1.com/api/user/' + req.params.userID + '/')
.then(function(res) {
var contentType = res.headers.get("content-type");
if (contentType && contentType.includes("application/json")) {
apiServer = 'swgohgg';
return res.json();
} else {
apiServer = 'server2';
throw ("server 1 did not reply properly");
}
})
.then(json => res.send(json))
.catch(function(err) {
console.log(err);
})
.then(function(res) {
if (apiServer == 'server2') {
fetch('https://api2.com/api/user/' + req.params.userID + '/')
.then(function(res) {
var contentType = res.headers.get("content-type");
if (contentType && contentType.includes("application/json")) {
return res.json();
}
})
.then(json => res.end(json))
.catch(function(err) {
console.log(err);
});
}
})
);
Таким образом, я устанавливаю переменную пустой, если она терпит неудачу, она генерирует ошибку перехода, чтобы поймать, затем она запускает второй вызов API, но когда она отправляет res.send, она говорит мне, что "TypeError: res.send не является функция».
И все идет на ветер ... И я не получаю никакого ответа.
Я пробовал несколько других вещей, которые нашел здесь, но, похоже, ничего не работает ... Один говорил, что нужно изменить "res" на результат, не работает, передать требование также ниже, нет.
Какие у меня варианты?