Я не знаю, что происходит. Когда я пытаюсь отправить запрос к бэкэнду для добавления подписчика (мой маршрут ниже), я получаю ошибку привязки сервера вместо sucess, но в моей базе данных подписчик добавляется правильно (и удаляется), но не всегда. Иногда он сохраняет в 3 раза один и тот же результат (подписчик в БД), а иногда не удаляет подписчика. И проблема в том, что я понятия не имею, что происходит.
В моей консоли иногда появляется эта ошибка, иногда я вижу следующее: [HPM] Произошла ошибка при попытке прокси-запроса / api / users / user / followот 127.0.0.1:8080 до http://[::1]:1648 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)
setFollower route:
const setFollowing = async (req, res, next) => {
try {
const userId = req.body.userId;
const followId = req.body.followId;
await User.findByIdAndUpdate(
userId,
{
$push: {
following: followId,
},
},
);
next();
} catch (err) {
res.status(400).json({
error: err,
});
}
};
const setFollower = async (req: Request, res: Response) => {
try {
const followId = req.body.followId;
const userId = req.body.userId;
const result = await User.findByIdAndUpdate(
followId,
{
$push: {
followers: userId,
},
},
{ new: true },
)
.populate('following', '_id name')
.populate('followers', '_id name')
const followerResult = { ...result._doc };
const { photo, salt, passwordHash, ...rest } = followerResult;
return res.status({ ...rest });
} catch (err) {
res.status(400).json({
error: err,
});
}
};
router.put(
'/user/follow',
isUserSignIn,
setFollowing,
setFollower,
);
отправка запроса по нажатию кнопки
try {
setLoading(true);
const response = await fetch('/api/users/user/follow', {
body: JSON.stringify({
followId: params.userId,
userId: loggedInUser._id,
}),
headers: {
'Accept': 'application/json',
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
method: 'PUT',
});
const data = await response.json();
setLoading(false);
setFollowing(true);
} catch (err) {
if (err.message) {
setServerError(err.message);
} else {
setServerError(JSON.stringify(err));
}
}
мой репо: https://github.com/bartek-fecko/fullstackapp