【发布时间】:2021-06-01 07:35:26
【问题描述】:
下面是我写的代码:
router.get('/all-outlets', (_req, res) => {
console.log('jererere');
// var sql = knex.select('*').from('retail_outletsss').limit(10);
let stream = knex.raw(`select * from retail_outlets limit 1;`).stream();
res.set('Content-Type', 'application/json');
stream.pipe(JSONStream.stringify()).pipe(res);
});
执行此操作时,它没有返回任何数据,而是卡在循环中。
【问题讨论】:
-
JSONStream.stringfy()是函数的响应,你可以用stream.pipe(JSONStream.stringify).pipe(res);代替stream.pipe(JSONStream.stringify()).pipe(res); -
在使用 JSONStream.stringify 时遇到问题,仅错误 TS2345: Argument of type '{ (): ReadWriteStream; (newlineOnly: false): ReadWriteStream; (打开:字符串,sep:字符串,关闭:字符串):ReadWriteStream; }' 不可分配给“WritableStream”类型的参数。类型 '{ (): ReadWriteStream; (newlineOnly: false): ReadWriteStream; (打开:字符串,sep:字符串,关闭:字符串):ReadWriteStream; }' 缺少来自类型“WritableStream”的以下属性:可写、写入、结束、addListener 和另外 14 个。
标签: javascript node.js typescript express