节点js htmlparser2流完成事件?

时间:2014-01-21 18:19:02

标签: javascript node.js stream pipe html-parser

嘿我正在使用htmlparser2来解析xml。以下是我的代码

var htmlparser = require('htmlparser2');
var fs = require('fs');
var sitemapUrls = [];
var parser = new htmlparser.Parser({
    ontext: function(text){
        if(text.match(/foo/)){
            sitemapUrls.push(text);
        }
    }
 });
 fs.createReadStream('./sitemap-index.xml').pipe(parser).on('end',function(){
   console.log(sitemapUrls.length);
 });

我无法找到htmlparser2是否有任何事件告诉我们解析已完成。

我想打印sitemapUrls数组的长度。

提前致谢

1 个答案:

答案 0 :(得分:1)

我在处理程序中找到答案我需要添加事件'onend',一旦解析完成就会调用它

var parser = new htmlparser.Parser({
    ontext: function(text){
        if(text.match(/myntra/)){
            sitemapUrls.push(text);
        }
    },
    onend: function(){
        console.log(sitemapUrls.length);
    }
});