Cannot set headers after they are sent to the client. Прошу помогите. Почему вылезает ошибка?

Я только начинаю свой путь в программировании, и вот столкнулся с такой ошибкой Cannot set headers after they are sent to the client. Прошу помощи

const { Router } = require('express');

const router = Router()
const User = require('../models/user')

router.get('/', (req, res) => {
    res.render('login');
});


router.post('/reg', async(req, res) => {
    const { email, pass, confirm } = req.body
const mbUser = await User.findOne({ email })
if (mbUser) {
    console.log(`${email} уже есть в бд`)
    res.redirect('/')
} else {
    const user = new User({
        email,
        pass
    })
    await user.save()
    res.redirect('/')
}
});



router.post('/auth', async(req, res) => {
const { email, pass, confirm } = req.body
const mbUser = await User.findOne({ email })


if (mbUser) {
    const mbPass = User.findOne({ pass })
    console.log('Mail is Ok!')
    res.redirect('/')
    if (mbPass) {
        req.session.user = mbUser
        req.session.isAuth = true
        req.session.save(error => {
            if (error) throw error
            res.redirect('/')
        })
        console.log('Pass is Ok!')
        res.redirect('/')
    } else {
        console.log('Pass is not ok!')
        res.redirect('/')
    }
} else {
    console.log('Mail is not Ok!')
    res.redirect('/')
}
});

Полная ошибка node:_http_outgoing:576 throw new ERR_HTTP_HEADERS_SENT('set'); ^

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at new NodeError (node:internal/errors:371:5) at ServerResponse.setHeader (node:_http_outgoing:576:11) at ServerResponse.header (C:\Users\69\Desktop\2\node_modules\express\lib\response.js:776:10) at ServerResponse.location (C:\Users\69\Desktop\2\node_modules\express\lib\response.js:893:15) at ServerResponse.redirect (C:\Users\69\Desktop\2\node_modules\express\lib\response.js:931:18) at C:\Users\69\Desktop\2\routes\login.js:42:21 at C:\Users\69\Desktop\2\node_modules\connect-mongodb-session\index.js:246:21 at C:\Users\69\Desktop\2\node_modules\mongodb\lib\utils.js:510:9 at C:\Users\69\Desktop\2\node_modules\mongodb\lib\operations\execute_operation.js:48:55 at C:\Users\69\Desktop\2\node_modules\mongodb\lib\utils.js:510:9 { code: 'ERR_HTTP_HEADERS_SENT' }

Ошибку решил, если вдруг кому интересно

    try {
    if (mbUser) {
        const mbPass = pass === mbUser.pass
        console.log('Mail is Ok!')
        if (mbPass) {
            req.session.user = mbUser
            req.session.isAuthen = true
            req.session.save(error => {
                if (error) throw error
            })
            console.log('Pass is Ok!')
            res.redirect('/')
        } else {
            console.log('Pass is not ok!')
        }
    } else {
        console.log('Mail is not Ok!')
        res.redirect('/')
    }
} catch (e) {
    console.log(e)
}

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