Estoy construyendo un backend para obtener imágenes de los usuarios que sigo. La siguiente función es una función auxiliar que toma una matriz de ID de usuario para mapearla y obtener sus imágenes. Esta función devuelve una sola promesa.
const getFeedPhotos = async (followingArr) => { const promises = followingArr.map(async userId => { await Photo.find({userId: mongoose.Types.ObjectId(userId)}); }); const x = Promise.all(promises); return x; };El código a continuación es el enrutador mismo donde estoy invocando mi función auxiliar.
photoRouter.get( '/feed', expressAsyncHandler(async (req, res) => { const following = req.body.following; if (following) { const response = getFeedPhotos(following); console.log(response); } else { res.status(400).send({ message: '"Following" is not provided.' }) } }) ); El problema es que la respuesta es igual a Promise { <pending> } . Necesito resolver esta promesa para enviársela a mi cliente. Mi pregunta es ¿cómo hago eso? Me doy cuenta de que tiene que ver con un error mío y se deriva de mi malentendido de todo el concepto asíncrono per se. Estaba tratando de investigar un poco, pero ninguna de las soluciones funcionó para mí.