我试图下载一些图片并对它们做一些逻辑。 问题是我不能说出瀑布内的整个功能,因为它是外部模块的一部分。
原则是:
function asyncGetImage(link, onResp){
request({url: link, encoding: null}, function (err, res, body) {
if (!err && res.statusCode === 200) {
var base64prefix = 'data:' + res.headers['content-type'] + ';base64,';
var image = body.toString('base64');
onSuccess(image, base64prefix);
} else {
console.log("errororororor");
onResp(null,null);
}
});
}
function getBase64Images (urlArray){
async.waterfall([
function(callback){
var responses = {};
var respCount = 0;
urlArray.forEach(function (item){
asyncGetImage(item.url,function (image,base64prefix){
responses[item.key] = {image:base64prefix+image,ratio: item.ratio};
respCount+=1;
if (urlArray.length === respCount) {
callback(null,responses);
}
});
});
}
],
function(err,response){
if(err){
console.log("ereprwertwertwerter");
}
console.log(response);
return response;
}
);
}
function applyLogic(urlList){
// do some code here
return getBase64Images(imageUrls);
}