Я создаю простое приложение для своего портфолио, используя База данных фильмов API.В моем маршруте GET / movie я хочу получить и отобразить данные о фильме, а также имена и фотографии участников ролей, однако данные для фильма и данные для участников ролей принадлежат двум отдельным конечным точкам API,и я в полной растерянности относительно того, как получить доступ к обоим наборам данных ответов под одной конечной точкой в моем приложении.
Я не могу вызвать axios.get () на обеих конечных точках по маршруту / movie, потому что получаю ошибку «Заголовки уже отправлены», и я попытался написать функцию, которая использует axios.get для 1 конечной точкиэто возвращает ответ и вызывается в моем маршруте GET / фильма, но это заставляет весь маршрут GET возвращать неопределенный.
Вот мой текущий код для моего маршрута / фильма, который является неправильным, но близко передает то, что яя пытаюсь выполнить
const express = require('express');
const router = express.Router();
const axios = require('axios');
const api_key = require('../config/keys').api_key;
const imgURL = "http://image.tmdb.org/t/p/";
const dateFormat = require('../config/dateFormat');
getActors = movie_id => {
axios.get(`https://api.themoviedb.org/3/movie/${movie_id}/credits?api_key=${api_key}&language=en-US`)
.then(res => {
return res.data;
}).catch(err => console.log(err.message));
}
router.get('/:id', (req, res) => {
const id = req.params.id
axios.get(`https://api.themoviedb.org/3/movie/${id}?api_key=${api_key}&language=en-US`)
.then(res => {
const movieData = res.data;
const actors = getActors(id); //calling above function here, but returns undefined and hangs the application
res.render('movie', {movieInfo: movieData, imgURL: imgURL, releaseDate: dateFormat(movieData.release_date), actors: actors})
})
.catch(err => console.log(err.status_message))
});
module.exports = router;
любая помощь с благодарностью.