Sé que este es un problema de alcance, pero no estoy muy seguro de lo que me estoy perdiendo aquí.
Tengo un punto final simple donde, si se encuentra un usuario, devuelvo un mensaje simple de "no se encontró ningún usuario". Aquí está la función:
export const getOneUser = (req, res) => { const { id } = req.params; const foundUser = users.find((user) => user.id == id) checkUserExists(foundUser) res.send(foundUser) }Reemplacé mi guardia estándar con una función auxiliar. entonces en lugar de:
if(!userfound) res.send('No user was found')con la siguiente función:
const checkUserExists = (x) => { if(!x) res.send('No user found') }Dado que uso constantemente este protector, pensé que podría ser una función útil para escribir.
El problema es que recibo el siguiente error, sin importar lo que haga, incluso si importo {respons} de 'express' y lo uso:
ReferenceError: res no está definido en checkUserExists (file:///Users/cnak/Desktop/PROJECTS/TEST3/controllers/users.js:7:12) en getOneUser (file:///Users/cnak/Desktop/PROJECTS/ TEST3/controllers/users.js:18:5) en Layer.handle [como handle_request] (/Users/cnak/Desktop/PROJECTS/TEST3/node_modules/express/lib/router/layer.js:95:5) en el siguiente (/Users/cnak/Desktop/PROJECTS/TEST3/node_modules/express/lib/router/route.js:137:13) en Route.dispatch (/Users/cnak/Desktop/PROJECTS/TEST3/node_modules/express/lib/ router/route.js:112:3) en Layer.handle [como handle_request] (/Users/cnak/Desktop/PROJECTS/TEST3/node_modules/express/lib/router/layer.js:95:5) en /Users/ cnak/Desktop/PROJECTS/TEST3/node_modules/express/lib/router/index.js:281:22 en param (/Users/cnak/Desktop/PROJECTS/TEST3/node_modules/express/lib/router/index.js:360 :14) en parámetro (/Users/cnak/Desktop/PROJECTS/TEST3/node_modules/express/lib/router/index.js:371:14) en Function.process_params (/Users/cnak/Desktop/PROJECTS/TEST3/node_modules /expreso/l ib/router/index.js:416:3)
¿Cómo creo una función auxiliar que realmente pueda pasar una respuesta?
También intenté devolver el 'res.send ('No se encontró ningún usuario')
Gracias
Porque no está definiendo res en su función checkUserExists .
const checkUserExists = (x, res) => { if(!x) res.send('No user found') }y
... checkUserExists(foundUser, res); ...Si aún recibe un error después de enviar res en el método checkUserExists . Entonces el problema no está aquí. Debe verificar su ruta, si está pasando una instancia real de http res aquí o no. ¿Puede pegar su código de index.js y el archivo del enrutador?