私は比較的新しいjavascript開発者です。私は追跡できないような問題に悩まされています。間違った場所を探している。スコープ/クロージャーとは関係があるようですが、動作させることができないようです。ここに行く:Nodejs&Request&Cheerio:要求内からグローバル配列に追加できない
私はarr
という名前のグローバルスコープの配列を持っています。 node.js、request、cheerioを使用してウェブサイトにアクセスし、情報を取得しています。この図では、すべてのリンクのhref
属性はhttp://www.google.comです。私はそれらをグローバルスコープの配列に挿入します。しかし、 '要求'の外側では、配列はまだ空のようです。
var request = require('request');
var cheerio = require('cheerio');
var arr = []
var url = 'http://www.google.com';
request(url, function(err, resp, body) {
var $ = cheerio.load(body);
$('a').each(function(i, link){
arr.push(link['attribs']['href']);
});
});
console.log(arr); // prints nothing
は、私は、これは私が見下ろす午前誰かが助けることができるなら、私は、私はそれを大幅にいただければ幸いです正確に理由をいくつかの光を当てることは非常にシンプルで最も可能性の高いものだということを知っています。ありがとうございました。