我目前正在研究node.js背压。
我不打算使用.pipe()或.pipeline()
因为我想了解背压和引流事件。
但我不知道如何编写合适的排泄处理程序。
让我们看看下面的代码。
"use strict";
const rs = getReadableStreamSomehow();
const ws = getWritableStreamSomehow();
rs.on("data", function handler(data) {
if (!ws.write(data)) {
ws.once("drain", handler);
}
});上面的源代码似乎有一些问题。因为我遇到了来自控制台的内存泄漏警告。
(node:29788) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [WriteStream]. Use emitter.setMaxListeners() to increase limit有没有人知道如何编写排出事件处理程序?
谢谢。
发布于 2020-02-03 14:11:55
我认为以下是处理背压和排泄事件的正确方法。
const rs = getReadableStreamSomehow();
const ws = getWritableStreamSomehow();
rs.on("data", function (data) {
if (!ws.write(data)) {
rs.pause();
ws.once("drain", function () {
rs.resume();
});
}
});这是正确的吗?
如果不正确,请留下评论。
https://stackoverflow.com/questions/59809258
复制相似问题