首页 > 解决方案 > API 控制器解析返回未定义

问题描述

本质上,我的控制器没有正确返回承诺的解决方案。

  getUserByIdApi: async (req, res) => {
      const googleId = req;
      try {
        res.json(await fetchUserByIdFromDb(googleId))
        const user = await fetchUserByIdFromDb(googleId);

        res.send(user.googleId)
      } catch (e) {
          console.log(e);
          res.status(400).json(e);
      }
  }
};

就是这么说的TypeError: Cannot read property 'send' of undefined

fetchUserByIdFromDb:

const fetchUserByIdFromDb = async (Id) => {
  try {
    const [rows] = await connection.query(findUserByIdQuery, (googleId));
    console.log('orm: ', rows[0].googleId)
    return rows[0];
  } catch (e) {
    throw new Error(e);
  }
};

如何从控制器获取 res 以响应正确的值?我希望它返回用户的 ID,老实说,来自用户的任何东西。

我正在使用 node.js 和 MySQL。

标签: mysqlnode.jspassport.js

解决方案


看起来我很傻!

谢谢大家回答这个问题,但看起来在我的 passport.js 中,我正在验证所有内容,当我应该使用我的 ORM 时,我正在使用我的 API。


推荐阅读