var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var link = "www.google.com";
request(link, function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
//scrape article
$('.someclass').filter(function() {
var data = $(this);
var description = data.html();
//write data to file
fs.appendFile('description.txt', description + "\n", function (err) {
if (err)
throw err;
//console.log('The "description" was appended to file!');
});
})
}
});
我在我的node.js中使用此代碼來獲取一些數據。但我想全局使用變量描述(請求過程之外)。我已經嘗試過,但沒有成功。這個怎麼做?JavaScript全局使用本地變量
編輯:這是我問的另一個問題。上面的這個問題和問題給了我同樣的問題。解決他們中的一個或兩者將會有很大幫助。
node.js multiple functions within request
@ArmandGrillet和它很相似,但這個問題是關於瀏覽器JavaScript和這是一個節點問題。 – Pointy
'request()'調用是**異步**。即使你使'description'相對全局,你將不能使用它的值直到稍後調用回調。從異步操作中返回值基本上沒有意義。 – Pointy
對不起,我發送了錯誤的鏈接。這是[這個問題]可能的重複(http://stackoverflow.com/questions/2788159/turn-javascript-local-variable-into-global-variable)。 –