终止循环

时间:2020-07-31 10:59:39

标签: node.js foreach

当mongo查询遇到错误时,如何终止循环?当前它通过并出现错误[ERR_HTTP_HEADERS_SENT]的错误:将标头发送到客户端后无法设置标头,因为循环,它一次又一次发送res.redirect('back')。

details.forEach(function(w){
        let m
        let part = w.part,
            position = w.position,
            company = w.company,
            busNumber = bus,
            _id = w.id,
            mile_age = w.mile_age,
            isDamaged = false;
        let author = {
            id: req.user._id,
            username: req.user.username,
            firstName: req.user.firstName,
            lastName: req.user.lastName,
            };
        let image = {contentType: 'image/png', data: 'none'};
        let date_now = new Date().addHours(8).toISOString();
        let detail = {part:part,id:_id, position:position, company:company,isDamaged:isDamaged, mile_age: mile_age, author:author, busNumber:busNumber,image:image, date_created: date_now};
        let id = {id: _id, busNumber: bus};

        Bus.findOneAndUpdate(id, detail, function(err, a){
            if(a === null || a === undefined || err){
                req.flash('error', err)
                res.redirect('back')
            }else{
                let trip = req.session.trip;
                Trip.findById('5ed66aa024ce61001719b8ce', function(err, found){
                    if(found === null || found === undefined || err){
                        req.flash('error', err) // <==== error
                        res.redirect('back')
                    }else{
                        Raw_360.create(detail, function(err, raw){
                            if(raw === null || raw === undefined || err){
                                req.flash('error', err)
                                res.redirect('back')
                            }else{
                                found.start_360.push(raw)
                                found.save();
                            }
                        })// end of Raw_360
                    }
                })
            }
        });
    }) // end of for loop

0 个答案:

没有答案
相关问题