我正在尝试使用Parse5的SAXParser来管道从字符串生成的可读流。
这是我的代码:
var parse5 = require("parse5");
var parser = new parse5.SAXParser();
var stream = require('stream');
var s = new stream.Readable();
s.push('text');
s.push(null);
parser.on('text', function (res: any) {
console.log(res);
});
s.pipe(parser);
我在回调函数中设置了一个断点,但它永远不会被击中。有谁知道我做错了什么?
答案 0 :(得分:0)
我猜你错误地解释了'text'事件的含义。 docs说:
此处的“文字”内容是HTML文字内容。也许这个例子会让你更清楚:
[fedora@myhost ~]$ cat example.js
var parse5 = require("parse5");
var parser = new parse5.SAXParser();
var stream = require('stream');
var s = new stream.Readable();
s.push('<h1>text1<h1><h2>text2</h2>');
s.push(null);
parser.on('text', res => {
console.log(res);
});
s.pipe(parser);
[fedora@myhost ~]$ node example.js
text1
text2