Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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 如何发送多个响应?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 如何发送多个响应?

Javascript 如何发送多个响应?,javascript,node.js,express,Javascript,Node.js,Express,执行查询时,我会得到记录。但当再次运行查询时,这些记录将被复制 例如: 请求1: 3424,DFS,21.07.2020 10:23 21312,123,21.07.2020 15:16 43324,RWR,22.07.2020 15:04 要求2: 3424,DFS,21.07.2020 10:23 21312,123,21.07.2020 15:16 43324,RWR,22.07.2020 15:04 3424,DFS,21.07.2020 10:23 21312,123,21.07.2

执行查询时,我会得到记录。但当再次运行查询时,这些记录将被复制

例如:

请求1:

3424,DFS,21.07.2020 10:23
21312,123,21.07.2020 15:16
43324,RWR,22.07.2020 15:04
要求2:

3424,DFS,21.07.2020 10:23
21312,123,21.07.2020 15:16
43324,RWR,22.07.2020 15:04
3424,DFS,21.07.2020 10:23
21312,123,21.07.2020 15:16
43324,RWR,22.07.2020 15:04
等等

如何修复它

const output = [];

module.exports.getAll = async function (req, res) {
    try {
        const cards = await Card.find({}, { NCard: 1, FIO: 1, AuthDate: 1 })
        cards.forEach((d) => {
            const row = [];
            row.push(d.NCard);
            row.push(d.FIO);
            row.push(moment(d.AuthDate).format('DD.MM.YYYY HH:mm'));
            output.push(row.join());
        });
        res.status(200).send(output.join(os.EOL))
    } catch (e) {
        errorHandler(res, e)
    }
}

对于对
getAll
的每次调用,将结果添加到
输出中。因此,
output
随着每次调用而增长


第一个想法是将
const output=[]
移动到函数中。

每次调用
getAll
都将结果添加到
output
。因此,
output
随着每次调用而增长


第一个想法是将
const output=[]
移动到函数中。

由于输出定义在函数范围之上,它将存储上一次迭代的结果,因此下一次迭代输出数组将包含上一次迭代的结果。因此,您应该在函数内部移动输出数组。

由于输出是在函数范围之上定义的,它将存储上一次迭代的结果,因此下一次迭代的输出数组将包含上一次迭代的结果。因此,您应该在函数内部移动输出数组。

您确定这是queryie的错误,而不是您没有覆盖前端的数组吗?如果不是,则可能是卡中的错误。查找(…)
您确定是queryie的错误,而不是您没有覆盖前端上的数组吗?如果不是,则可能是卡中的错误。查找(…)