var url = posts.paging.next;
for (var i = 0; i < 3; i++) {
(function(url,i) {
request(url,{json:true}, function (error, response, body) {
if (!error && response.statusCode == 200) {
url = body.paging.next;
console.log(i+"+++"+url)
}
});
})(url,i);
};//for
根据异步请求响应(body.paging.next),İ想要更改代码顶部的 var url 的值。请帮助
注意:我正在尝试从facebook api获取所有评论,为此,我需要获取页面链接。因此,我写了这些代码,如果你有任何其他替代方式,请建议他们比x
答案 0 :(得分:1)
假设您正在尝试按顺序执行请求(例如,下一个请求依赖于上一个请求中的url),您可以执行类似的操作(使用async模块):
var async = require('async');
// ...
var url = posts.paging.next, i = 0;
async.whilst(
function() { return i < 3; },
function(callback) {
++i;
request(url, { json: true }, function(err, response, body) {
// TODO: handle `err`
//return callback(err);
if (!err && response.statusCode === 200) {
url = body.paging.next;
console.log(i + '+++' + url);
callback();
}
});
},
function(err) {
// done!
}
);