首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于streams2的流端检测

基于streams2的流端检测
EN

Stack Overflow用户
提问于 2014-06-23 22:50:12
回答 1查看 886关注 0票数 0

我刚刚读到,如果流使用'data''end'侦听器,它会切换到“经典”模式,溪流手册说:

请注意,每当您注册“数据”侦听器时,您都会将流放入可压缩模式,这样就失去了新的streams2 api的好处。

那么使用新的streams的最佳方法是什么呢?如果我现在这么做

代码语言:javascript
复制
gulp.src(["./src/server/**/*.coffee"])
    .pipe(coffee  bare: true ).on("error", gutil.log)
    .pipe(gulp.dest "./bin/server")
    .on 'end',-> gutil.log "successfully compiled server coffeescript"

如何在不注册'end'侦听器的情况下执行相同的操作?

EN

回答 1

Stack Overflow用户

发布于 2014-06-23 22:58:33

只有调用.resume()/.pause()或添加“数据”侦听器才能将streams2流切换到streams1流。你可以在不影响任何事情的情况下听“结束”。

在您的特定示例中,即使它确实切换了,也不会影响您,因为您只是在管道上工作,这在streams1和streams2模式下都能工作。

此外,如果最后一个流(gulp.dest "./bin/server")不是双工流,或者您不使用它的数据,您可能不会看到'end‘事件。如果它只是一个可写的流,您应该监听'finish‘而不是’end‘('end’只在可读的流上发出)。

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

https://stackoverflow.com/questions/24375814

复制
相关文章

相似问题

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