首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js背压和排泄事件。我遇到内存泄漏警告

node.js背压和排泄事件。我遇到内存泄漏警告
EN

Stack Overflow用户
提问于 2020-01-19 18:43:12
回答 1查看 78关注 0票数 0

我目前正在研究node.js背压。

我不打算使用.pipe().pipeline()

因为我想了解背压和引流事件。

但我不知道如何编写合适的排泄处理程序。

让我们看看下面的代码。

代码语言:javascript
复制
"use strict";

const rs = getReadableStreamSomehow();
const ws = getWritableStreamSomehow();

rs.on("data", function handler(data) {
  if (!ws.write(data)) {
    ws.once("drain", handler);
  }
});

上面的源代码似乎有一些问题。因为我遇到了来自控制台的内存泄漏警告。

代码语言:javascript
复制
(node:29788) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [WriteStream]. Use emitter.setMaxListeners() to increase limit

有没有人知道如何编写排出事件处理程序?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-02-03 14:11:55

我认为以下是处理背压和排泄事件的正确方法。

代码语言:javascript
复制
const rs = getReadableStreamSomehow();
const ws = getWritableStreamSomehow();

rs.on("data", function (data) {
  if (!ws.write(data)) {
    rs.pause();
    ws.once("drain", function () {
      rs.resume();
    });
  }
});

这是正确的吗?

如果不正确,请留下评论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59809258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档