在调用res.send之前,可以通过使用回调函数或Promise来等待流完成。具体操作如下:
- 使用回调函数:
- 创建一个可写流,例如使用fs.createWriteStream()方法。
- 监听可写流的'finish'事件,在该事件触发时表示流已完成写入。
- 在'finish'事件的回调函数中,调用res.send()发送响应。
- 示例代码:
- 示例代码:
- 使用Promise:
- 创建一个Promise对象,并在其内部执行流操作。
- 在Promise对象中,使用resolve()方法来表示流完成,将其作为参数传递给res.send()。
- 在调用res.send()之前,等待Promise对象的resolve()被调用。
- 示例代码:
- 示例代码:
以上是使用回调函数和Promise两种常见的等待流完成的方法。在实际开发中,可以根据具体需求选择适合的方式来处理。