【问题标题】:not able to return stream data in express无法快速返回流数据
【发布时间】: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


【解决方案1】:

上面的代码可以工作。但是你需要有包 “pg 查询流” 为 postgres 安装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多