2014-11-22 72 views
0

我最近开始在服务器端(节点JS)编写的JavaScript,我有一个非常简单的麻烦,我解决不了:S下载的文本文件,并保存为一个的NodeJS串

我想下载一个txt文件,并将其保存为一个字符串变量。这是我的atempt:

var consensus; 
http.get('random/url/consensus.txt' , function(res) { 
     res.on('data', function (chunk) { 
     consensus = ('BODY: ' + chunk);}); 
    }); 
console.log(consensus) 

当我运行它说剧本“共识”是不确定的,但是当我改变,我要保存为字符串consensus = ('BODY: ' + chunk);});此行此console.log('BODY: ' + chunk);});其打印出字符串(文件) 。哦,在我忘记提及之前,我只想用标准库找到解决方案。

回答

0

您的console.log在回调之外,因此在回调发生之前您发起呼叫后立即调用它。

尝试做这样的事情:(我不是在事件名称,以便确认)

var req = http.get(......) //rest of code stays the same 

req.on('end', function() {console.log(consensus);}); 

我认为它应该解决您的问题。

并尝试阅读更多关于nodeJS的异步本质。

相关问题