繁体   English   中英

遍历NodeJS中的循环时发生TypeError

[英]TypeError while iterating over an loop in NodeJS

我正在尝试将数据库数据写入JSON。 当我不使用循环时,它起作用。

然后我得到: TypeError:第一个参数必须是字符串或Buffer

我正在使用mysql npm软件包。

con.query('SELECT * FROM mydb.orders_view;', function(err, rows, fields) {
            if (err) {
                res.status(500).json({ result: 'Error' })
            }
            for (var i = 0; i < rows.length; i++) {

                 res.write(
                 {
                time: date,
                Order: [{
                    OrderedBy: rows[i]['OrderedBy']
                }]
               } 
            );
                }

            res.end();


        });
});

您正在使用对象调用write 根据文档,它必须是字符串或缓冲区:

块可以是字符串或缓冲区。 如果chunk是字符串,则第二个参数指定如何将其编码为字节流。 默认情况下,编码为“ utf8”。 刷新此数据块时将调用最后一个参数回调。


旁注:您没有正确处理错误情况,您可能希望return; 在该初始if块中,这样您就不会在发生错误时继续循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM