Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js错误:Can';t在发送邮件后设置邮件头,有时会出现_Javascript_Node.js_Express - Fatal编程技术网

Javascript Node.js错误:Can';t在发送邮件后设置邮件头,有时会出现

Javascript Node.js错误:Can';t在发送邮件后设置邮件头,有时会出现,javascript,node.js,express,Javascript,Node.js,Express,我有一个带有post方法和post路由的HTML表单 app.post('/', c_emailController.create, c_bookingController.create ); 当我按提交时,我需要向我和客户端[emailController]发送电子邮件,并将数据保存在我的预订集合[bookingController]中,但有时,当我按提交时,会出现以下错误: Can't set headers after they are s

我有一个带有post方法和post路由的HTML表单

    app.post('/',
        c_emailController.create,
        c_bookingController.create
    );
当我按提交时,我需要向我和客户端[emailController]发送电子邮件,并将数据保存在我的预订集合[bookingController]中,但有时,当我按提交时,会出现以下错误:

Can't set headers after they are sent
最奇怪的是:不是每一次,有时发生,有时不发生。你能检查一下我的控制器代码,看看是否有问题吗

我相信这是下一个()的问题

JS小提琴->


OBS:当错误未发生时,代码正在工作

我认为问题在于,您两次调用
sendmail
函数,两次调用
next
回调

为了避免这种情况,您可以使用library,在library的帮助下,您将在和中发送电子邮件,并且只有在两封电子邮件都发送后才能调用
next

var async = require('async');

async.parallel({
   alertEmail: function(callback) {
       var alertEmailOptions = {
        to: "myemail@com",
        from: "myemail@com",
        subject: "[alert]",
        html: "some html",
       };
       sendgrid.send(alertEmailOptions , callback);
   }, 
   confirmEmail: function(callback) {
        var confirmationEventOptions = {
        to: req.body.email,
        from: "reserva@pubcrawlsp.com",
        subject: "Reserva -  "
        html: "SOME HTML",
        };
        sendgrid.send(confirmationEventOptions, callback);
   }
}, function (err, results) {
   next();
});

这将停止错误,但这里有一个问题。。当我点击提交时,代码运行,它们返回/(完美正常),但是页面一直在加载,没有停止..没关系,我解决了问题。。哈哈。。非常感谢@Vsevolod