Javascript request()和fs.createReadStream()不返回;对",;价值观

Javascript request()和fs.createReadStream()不返回;对",;价值观,javascript,arrays,node.js,request,fs,Javascript,Arrays,Node.js,Request,Fs,我正在尝试使用Node.js刮取网页的内容,并将其与存储为文件的同一页面的副本进行比较,如下所示: var fs = require("fs"); var request = require("request"); var archive = ["./archive.html", "http://praguerace.com/comic/archive"]; request(archive[1], //request Prague Race's archive function (er

我正在尝试使用Node.js刮取网页的内容,并将其与存储为文件的同一页面的副本进行比较,如下所示:

var fs = require("fs");
var request = require("request");
var archive = ["./archive.html", "http://praguerace.com/comic/archive"];

request(archive[1], //request Prague Race's archive
    function (error, response, body) {
        if (fs.createReadStream(archive[0]) == body) //if no change occurred
            console.log("checkpoint 1");
        else
            console.log("checkpoint 2");
    }
);
我已经安装了请求模块(正确),并且没有使用Express

问题是脚本一直在打印“checkpoint 2”,这就好像我从试图刮取的服务器得到的响应一直在变化,或者节点不知道
=
的意思。

fs.createReadStream(archive[0])返回一个流而不是内容

使用stream事件检索内容readStream.on('open'、'data'等)

或者只使用readFile或readFileSync

异步版本:

request(archive[1], //request Prague Race's archive
function (error, response, body) {
   fs.readFile(archive[0], "utf8", function(err, data){
     if(data  == body)
       ....
     else
        ....
    });
});
同步版本

request(archive[1], //request Prague Race's archive
function (error, response, body) {
     if(fs.readFileSync(archive[0], "utf8")  == body)
       ....
     else
        ....
});