コールバックと非同期プログラミングを理解しようとしていますが、少し問題があります。
ここにいくつかの擬似コードがあります:
var lines = [];
var arrayOfFeedUrls = [url1,url2,...];
function scrape(url){
http.get(url, function(res) {
res.pipe(new FeedParser([options]))
.on('readable', function () {
var stream = this, item;
while (item=stream.read()) {
line = item.title;
lines.push(line);
}
});
});
});
for (i in arrayOfFeedUrls){
scrape(arrayOfFeedUrls[i];
}
console.log(lines.length);
スクレイプ関数は非同期で実行されるため、明らかに 0 を返します。私はそれを理解していますが、多くの複雑な方法を試しましたが、適切な書き方がわかりません。どんな助け/説明も大歓迎です。私はたくさんのチュートリアルと例を読んだ (そして今も読んでいる) が、それを得る唯一の方法は自分でコードを書くことだと思う. これを解決したら、答えを投稿します。