Laj*_*jos 5 javascript stream node.js
我使用 NodeJSTransform流从流中读取数据Readable然后转换它。
当我销毁 Transform 流时,有时我会收到一个错误,因为 destroy 函数会取消 Transfrom 流本身的管道,但执行此异步操作,如果速度不够快,可读流会在处理期间推送一些新数据,这会导致以下错误:
未捕获的错误:在结束后写入
我做错了什么,你在销毁之前写了像 unpipe 这样的代码,或者我应该如何确保在我调用销毁之后可读的不会推送数据并且没有得到任何错误?
Readable使用节点 v8.11.1,当尝试destroy()从回调内部发送流时,我可以复制此问题on("data", (chunk) => void)。当我推迟通话时,错误消失了。
// Calling stream.destroy() directly causes "Error: write after end".
Promise.resolve()
.then(() => stream.destroy())
.catch(console.log)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11061 次 |
| 最近记录: |