2017-02-11 74 views
0

我試圖使用Parse5的SAXParser管道到一個可讀的流從一個字符串生成。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

我猜你錯誤地解釋了'文本'事件的含義。 docs說: enter image description here

這裏的'文本'內容是HTML文本內容。也許這個例子會讓你更清楚:

[[email protected] ~]$ 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); 

[[email protected] ~]$ node example.js 
text1 
text2