Ошибка при получении данных пользователя

server:

router.post('/login', async(req, res) => {
    try {
        const {email, password} = req.body;
        const findUser = await User.findOne({email});

        if (!findUser) {
            res.status(400).json({message: 'Такого пользователя не существует!'});
        } else {
            const comparePassword = await bcrypt.compare(password, findUser.password);
            
            if (!comparePassword) {
                res.status(400).json({message: 'Данные неверны!'});
            } else {
                req.session.user = findUser;
            
                await req.session.save((err) => {
                    if (err) {
                        throw err;
                    }

                    res.status(200).json({user: findUser});
                    res.redirect('/profile/' + findUser._id);  
                })
            }
        }
    } catch(e) {
        console.log(e);
    }
})

client:

fetch('http://localhost:3000/auth/login', {
 method: 'POST'
}).then(res => res.json())
.then(data => dispatch(login(data)));

Ошибка:

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

Какой заголовок и куда мне нужно написать?


Ответы (0 шт):