const axios = require('axios');
const url = '';
const urlMovies = 'http://localhost:3001/'
const axiosServer = axios.create({
baseURL: url,
});
class EntertainMeController {
static readEntertainMe(req, res) {
let movies;
let tvseries;
axiosServer({
url: urlMovies,
method: 'get',
})
.then(({ data }) => {
movies = data;
}
res.status(200).json({
movies
})
}
}i write this code inside controllers, router.get('/', EnternainMeController.readEntertainMe)
movies is undifined, any help please
3 Réponses :
Essayez-le comme ceci:
static async readEntertainMe(req, res) {
let movies;
let tvseries;
let { data } = await axiosServer({
url: urlMovies,
method: 'get',
})
movies = data;
res.status(200).json({
movies
})
Essayez d'ajouter res.Status à l'intérieur du bloc. Ensuite, le bloc sera exécuté de manière asynchrone à partir du flux de code principal.
Également si cela aide, vous pouvez supprimer la variable des films. P>
axiosServer({
url: urlMovies,
method: 'get',
})
.then(({ data }) => {
movies = data;
res.status(200).json({
movies
})
}
One Dower Réponse: Utilisez Var Films em> au lieu de Laissez les films em>. P>
a expliqué: il s'agit d'un problème de cadrage lexical pouvant être traité avec des fermetures. Vous avez besoin d'accès à la fonction de fonction extérieure. Une fermeture est la combinaison d'une fonction groupée ensemble (fermée) avec des références à son état environnant (l'environnement lexical). En d'autres termes, une fermeture vous donne accès à une fonction de fonction extérieure à partir d'une fonction interne. En JavaScript, les fermetures sont créées chaque fois qu'une fonction est créée, au moment de la création de fonction.
https://developer.mozilla.org/en-us/docs/ Web / javascript / fermetures p>