首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs转换--在推送之前调用回调是否被视为良好实践?

Nodejs转换--在推送之前调用回调是否被视为良好实践?
EN

Stack Overflow用户
提问于 2018-08-28 17:03:00
回答 1查看 227关注 0票数 1

关于stream.Transform的转换功能:

好吗,因为它不会破坏像背压装置这样的装置,

如果我不关心顺序,那么在调用push()之前调用回调(),这样我就可以异步地同时处理多个块了吗?

具体来说,我想提出异步http请求。我有一个"url流“,我希望将处理的结果推送到进一步的处理/存储中。

如果在调用回调()之前等待请求完成,那么每次只运行一个请求。但是,如果在播放请求时,我调用了回调:

代码语言:javascript
复制
request.get(url, (err, res) => push(process(res)));
return callback();

我可以同时处理许多请求。

代码似乎有效,但我想知道我是否误用了stream.Transform,是否应该为这类管道使用其他的东西。

EN

回答 1

Stack Overflow用户

发布于 2018-08-28 17:47:49

这破坏了流的设计。

如果您不关心背压或流的顺序,不要使用流。假设您的"url流“只是一个可读的流,则直接使用它,并在此时停止使用流。您可能还想考虑为什么要使用URL流,但我不想过多地判断。

例如:

代码语言:javascript
复制
urlStream.on('data', (url) => {
  request.get(url, (err, res) => {
    // do whatever you want to do next.
  });
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52063052

复制
相关文章

相似问题

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