node.js - 如何持续向同一个请求交付数据
问题描述
我对后端技术比较陌生,我对今天看到的示例感到惊讶。
这是一个引入新 API 的示例,但我对通过同一请求传递数据的方式感到惊讶。我可能怀疑使用了流我试图用res.write
express 的方法创建它,但它并没有真正做我想要的。在读取整个流之前,它不会发送响应。
https://fetch-abort-demo.glitch.me/
我如何在 Node.JS / Express 应用程序中实现这一点?
解决方案
事实证明我对流的看法是正确的。我之前无法正确阅读它,因为它需要一些客户端代码来读取流数据。阅读的源代码可以在我发布的示例链接中找到。
流看起来像这样。
const it = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
app.get('/stream', (req, res) => {
let time = 100
for (const i of it) {
setTimeout(() => {
res.write(i)
}, time)
time += 2000
}
setTimeout(() => {
res.end()
}, time + 2000)
})
推荐阅读
- api - Web 服务的令牌在哪个 Moodle 表中?
- flutter - 天气数据 API
- vstest.console.exe - 如何在未通过 RDP 连接的 VM 上运行编码的 ui 测试?
- python - 将 wtforms 数据与其他 wtforms 列表进行比较
- javascript - google.visualization.query - 根据 json.parse 参数过滤电子表格数据列
- react-native - 对象不是 Expo(react-native) 应用程序中的函数
- php - Laravel 验证唯一数组请求
- android - 在 android 上使用 ftdi 和 delphi
- excel - 参考另一张纸的单元格范围
- laravel - Laravel 6未定义变量:工作