gpt4 book ai didi

javascript - Nodeschool 的 Stream-Adventure #12 Duplexer redux

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:10 27 4
gpt4 key购买 nike

我已经尝试了多种方法来解决这个练习已经好几天了。我放弃。我在这里做错了什么?如果我使用的事件是“结束”事件并且我没有向管道写入任何内容,为什么会出现“结束后写入”错误?我只是在使用后更改一个对象。或者至少我是这么认为的。

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

我已阅读此练习测试文件,但无法从中获得任何线索,因为它仅比较对象以查看它们是否正确。

最佳答案

您的解决方案几乎是正确的。只需删除 counter.pipe(duplex); 行即可。您不需要将任何内容通过管道传输到您创建的双工流,流冒险将这样做以检查它是否有效:)。

关于javascript - Nodeschool 的 Stream-Adventure #12 Duplexer redux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29086638/

27 4 0