【发布时间】:2020-03-16 13:42:51
【问题描述】:
我正在尝试使用 XML 流解析 API (xml-flow),它公开了一个节点 EventEmitter,它为我感兴趣的标签发出一堆 tag 事件,以及一个 end 事件当它完成阅读文档时。
我希望能够使用Interactive Extensions 处理这个问题,但我不知道如何将它转换为一个结束的异步迭代; ix 只有fromEvent/fromEventPattern 似乎没有办法处理“结束”事件。
尝试一下:
import * as aix from 'ix/asynciterable';
import flow from 'xml-flow';
const iterTags = aix.fromEvent(flow(...), 'tag:foo');
console.log('max', aix.max(iterTags));
不产生任何输出,而添加 .pipe(tap(console.debug)) 来打印被迭代的值表明流实际上正在正确处理。
有没有办法可以连接end 事件以使迭代器连接到return 以便正常工作?
【问题讨论】:
-
也许将其包装成可读流,which are iterable?
标签: javascript node.js async-await generator ixjs