I am using try catch statements. In my try statement I only want to return values which I got from functions that are defined outside try catch statement. However, the values are undefined.
I am adding a code snippet below:
const request = User.friendRequest(userId, friendId, (err, friendshipRequest) => {
  if (err) throw err;
  return friendshipRequest;
});
If I console.log(friendshipRequest) inside the callback function, everything works like charm, I get the JSON object that I wanted. However when I try to use const request in try catch statement - const request becomes undefined.
try {
  return res.status(201).json({
    error: false,
    request,
  });
} catch (e) {
  return res.status(400).json({ error: true, message: e.errsmg });
}
The full code looks like this
export const sendFriendRequest = async (req, res) => {
  const { userId, friendId } = req.params;
  const request = await User.friendRequest(userId, friendId, (err, friendshipRequest) => {
    if (err) throw err;
    return friendshipRequest;
  });
  try {
    return res.status(201).json({
      error: false,
      request,
    });
  } catch (e) {
    return res.status(400).json({ error: true, message: e.errsmg });
  }
};
 
    