他们被发送后无法查看标题。 (Sendgrid)

时间:2017-06-28 05:07:09

标签: javascript node.js heroku sendgrid

我在我的网络应用程序上遇到错误时遇到了麻烦,虽然它成功发送并确认了一封电子邮件我不想在控制台上看到一个错误。我只是想问一下,如果是关于我做的双回调,这是我的代码:

User.findOne({authToken: req.query.token}, function(err, user){
    if(err){
        console.log(err);
    } else {
        console.log(user);

        user.IsAuthenticated = true;
        user.save(function(err){
            if(err){
                console.log(err);
            } else {
                console.log('Successfully updated user');
                console.log(user);
                //resend email
                sendgrid.send({
                    to:     user.email,
                    from:   'pektospioneers.com',
                    subject:'Email COnfirmed!',
                    html:   'Thank you'
                }, function(err, json){
                    if(err){
                        console.log(err);
                    } else {
                        console.log(json);
                    }
                });
                res.send(user);
            }
        });
    }
});
    req.flash("success_msg",'Email has been confirmed!');
    res.redirect('/users/login');
});

现在错误是

  

在发送标题后无法看到标题。

这是因为我的

function(err,user){
 if(err){
  console.log(err);
  }
 else{
  console.log(user);
  }
}

你可以看到我做了很多回调。它与错误有关吗?请有人解释

2 个答案:

答案 0 :(得分:0)

试试这个

User.findOne({authToken: req.query.token}, function(err, user){
if(err){
    console.log(err);
    return res.send(err);
} else {
    console.log(user);
    user.IsAuthenticated = true;
    user.save(function(err){
        if(err){
            console.log(err);
            return res.send(err)
        } else {
            console.log('Successfully updated user');
            console.log(user);
            //resend email
            sendgrid.send({
                to:     user.email,
                from:   'pektospioneers.com',
                subject:'Email COnfirmed!',
                html:   'Thank you'
            }, function(err, json){
                if(err){
                    console.log(err);
                    return res.send(err)
                } else {
                    console.log(json);
                    req.flash("success_msg",'Email has been confirmed!');
                    res.redirect('/users/login');
                }
            });
        }
    });
  }
});

答案 1 :(得分:0)

User.findOne({authToken: req.query.token}, function(err, user){
    if(err){
        console.log(err);
        res.send(err);
    } else {
        console.log(user);
        user.IsAuthenticated = true;
        user.save(function(err){
            if(err){
                console.log(err);
                return res.send(err);
            } else {
                console.log('Successfully updated user');
                console.log(user);

                sendgrid.send({
                    to:     user.email,
                    from:   'pektospioneers.com',
                    subject:'Email COnfirmed!',
                    html:   'Thank you'
                }, function(err, json){
                    if(err){
                        console.log(err);
                        res.send(err);
                    } else {
                        console.log(json);
                    }
                });
            }
        });
    }
});
    req.flash("success_msg",'Email has been confirmed!');
    res.redirect('/users/login');