首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodeschool的流-冒险#12双工复用器

Nodeschool的流-冒险#12双工复用器
EN

Stack Overflow用户
提问于 2015-03-16 20:48:09
回答 1查看 1.1K关注 0票数 1

我已经好几天没想办法解决这个问题了。投降了。我在这里做错什么了?如果我使用的事件是"end“事件,而我没有将任何东西写入管道,那么为什么我会得到”写后结束“错误呢?我只是在用后换个东西。或者至少我认为是这样。

代码语言:javascript
复制
var duplexer2 = require("duplexer2");
var through = require('through2');


module.exports = function (counter) {
    var countries = {};        

    var duplex = duplexer2(through.obj(function (obj, encoding, done) {
        if (obj.country in countries)
            countries[obj.country]++;
        else 
            countries[obj.country] = 1;  
        done();
    }), counter);

    duplex.on("finish", function() {
        counter.setCounts(countries);
    });

    counter.pipe(duplex);

    return duplex;
};

如果我用行counter.setCounts(countries);来代替console.log(countries),我会看到它的填充是正确的。

问题文本:http://pastebin.com/vAM4vKZg

我看过这个练习测试文件,没有任何线索,因为它只是比较对象,看看它们是否正确。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-16 21:57:24

你的解决方案几乎是正确的。只要删除counter.pipe(duplex);行,它就能工作了。您不需要将任何信息输送到您创建的双工流,流冒险会这样做,以检查它是否有效:)。

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

https://stackoverflow.com/questions/29086638

复制
相关文章

相似问题

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