Je tente de transmettre quelque chose de l'application au contrôleur, puis au modèle et ensuite le transmettre de nouveau, je descends bien dans la chaîne jusqu'aux modèles et je récupère ce que je veux renvoyer, mais ensuite mon contrôleur renvoie undefined. Je sais que je ne renvoie pas correctement la promesse mais je ne comprends pas pourquoi je ne la renvoie pas.
Controller.js
const { fetchOwnerById } = require('./models')
const handleGreeting = (demande, réponse) => {
réponse.status(200).send({ message: 'bonjour depuis mon api'})
}
const getOwnerById = (demande, réponse) => {
const ownerId = demande.params['id'];
fetchOwnerById(ownerId)
.then((owner) => {
console.log(owner)
réponse.status(200).send({owner: owner})
})
}
module.exports = { handleGreeting, getOwnerById }
models.js
const fs = require('fs/promises')
const fetchOwnerById = (ownerId) => {
console.log(ownerId)
fs.readFile(__dirname + `/data/owners/${ownerId}.json`, 'utf-8').then((data) => {
console.log(data)
return data
// réponse.status(200).send(data)
})
}
module.exports = { fetchOwnerById }
Je reçois TypeError: Ne peut pas lire les propriétés de undefined (lecture de 'then')