【发布时间】:2015-03-31 13:21:04
【问题描述】:
所以我写了一个运行良好的脚本,但我想让请求异步。目前,每一个都在前一个完成后运行,我不得不这样做,因为我无法知道总页数。我必须点击请求,直到出现错误。
有没有更好的方法来编写这段代码?
var getResponse = 'true'; var newNum = 0; var 响应 = [];
async.while( 功能 () { // 启动异步while循环 返回 getResponse == 'true';
},
function (callback) {
// calls everytime
newNum++;
console.log('num',newNum);
var options = {
url: 'http://upload-api.kooaba.com/api/v4/buckets/sdfsfsfsfsdfsd/items?page='+newNum,
}
request(options, function(error, response, body) {
var info = JSON.parse(body);
if(info.offset) {
getResponse = false;
console.log('end of the records');
console.log("All loaded.");
var jsonSize = _.size(responses);
console.log('size',jsonSize);
res.json(responses);
}
else {
_.each(info, function(obj) {
var imageObj = {
uuid : obj.uuid,
enabled: obj.enabled,
title: obj.title,
itemCode: obj.reference_id,
num_images: obj.num_images,
bucket: 'uk'
}
responses.push(imageObj);
});
callback();
}
});
},
function (err) {
// End loop
console.log('end');
}
);
【问题讨论】:
标签: node.js asynchronous request underscore.js