Node.js res.send()-Can';t在发送邮件后设置邮件头

Node.js res.send()-Can';t在发送邮件后设置邮件头,node.js,api,express,Node.js,Api,Express,我正在使用Node js创建API,但我在使用多参数API时遇到了一个问题。我从couchbase收到多份文件。API返回多个JSON文档,但之后程序崩溃。我只调用了res.send()一次。我不明白我错在哪里。这是我的API: router.get("/employee/collectinsert/:_startdate/:_enddate", function(req, res, next){ var startDate = moment(req.params._startdate); v

我正在使用Node js创建API,但我在使用多参数API时遇到了一个问题。我从couchbase收到多份文件。API返回多个JSON文档,但之后程序崩溃。我只调用了
res.send()
一次。我不明白我错在哪里。这是我的API:

router.get("/employee/collectinsert/:_startdate/:_enddate", function(req, res, next){

var startDate = moment(req.params._startdate);
var endDate = moment(req.params._enddate);
var daysOfYear = [];
for(var date = moment(startDate); date.diff(endDate,'days') < 1; date.add(1, 'days')){
    daysOfYear.push(formatDate(date));
}

bucket.getMulti(daysOfYear,function(err, results){
    if(err) throw err;

    for(var key in results) {
        if(results.hasOwnProperty(key)) {
            if(results[key].error) {
                console.log("`" + key + "`: " + JSON.stringify(results[key]));
            }
            res.send(results);
        }
    }
    process.exit(0);
});
在for循环中多次调用res.send()

将其移出循环:

bucket.getMulti(daysOfYear,function(err, results){
    if(err) throw err;

    for(var key in results) {
        if(results.hasOwnProperty(key)) {
            if(results[key].error) {
                console.log("`" + key + "`: " + JSON.stringify(results[key]));
            }
        }
    }

    res.send(results); // called once when for loop has finished
});

因为首先您必须设置如下标题
res.header(“访问控制允许源代码”、“*”)然后发送一次。

您的
res.send
处于循环中,您只能发送一次响应

您可能想这样做:

bucket.getMulti(daysOfYear,function(err, results){
    if(err) throw err;

    for(var key in results) {
        if(results.hasOwnProperty(key)) {
            if(results[key].error) {
               console.log("`" + key + "`: " + JSON.stringify(results[key]));
            }

        }
    }
    res.send(results);
}
bucket.getMulti(daysOfYear,function(err, results){
    if(err) throw err;

    for(var key in results) {
        if(results.hasOwnProperty(key)) {
            if(results[key].error) {
               console.log("`" + key + "`: " + JSON.stringify(results[key]));
            }

        }
    }
    res.send(results);
}