8
API呼び出しは、結果の次の 'ページ'を返します。どのように私はその結果のコールバックを上品に再帰的に扱うのですか?node.jsのAPIコールバックで非同期に再帰する方法はありますか?
var url = 'https://graph.facebook.com/me/?fields=posts&since=' + moment(postFromDate).format('YYYY-MM-DD') + '&access_token=' + User.accessToken;
request.get({
url: url,
json: true
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
_.each(body.posts.data, function (post) {
User.posts.push(post); //push some result
});
if (body.pagination.next) { // if set, this is the next URL to query
//?????????
}
} else {
console.log(error);
throw error;
}
});
ありがとうございます。今明らかです。ちなみに、私は関数getFacebookData()とvar getFacebookData = function()を使用する理由がありますか? – metalaureate
ハードな理由だけがソフトなものではありません。まずは、少なくとも私が関数を定義するより自然な方法です。第2に、 "var"を忘れてしまった場合は、グローバル関数になります。そして3番目に最も有用です - このように宣言された場合、関数は匿名ではなく名前を持ちます。これはそれを使用しています。それらの中で最も簡単なのは、スタックトレースに表示されます。 – DeadAlready