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 });
}
};