首页 > 解决方案 > Node.js:等待管道不等到完成

问题描述

我有以下代码,它从数据库中读取,将对象转换为 csv 格式并将其写入文件。我想在所有步骤完成后发送回复。然而看起来await pipeline()并没有等到一切都完成后才运行下一条语句。

以下是我的相关代码:

  const pool = new pg.Pool(dbConfig);
  const client = await pool.connect();
  const query = new QueryStream('SELECT * FROM users');
  const stream = await client.query(query);
  await pipeline(
    stream,
    stringifier,
    ws,
    (err) => {
      if (err) {
        console.error('Pipeline failed.', err);
      } else {
        console.log('Pipeline succeeded.');
        client.release();
      }
    }
  );


  console.log('when does this execute??');

when does this execute??之前打印Pipeline succeeded

我如何等待整个管道执行并进行一些处理以发送响应。

谢谢。

标签: javascriptnode.js

解决方案


推荐阅读