将图像上传到应用程序后,在异步调用期间,base64图像数据(基本上是一个非常长的字符串)不会加载到变量中。
var async = require('async');
var img_data;
// ... some functions grab img_data from frontend
console.log(img_data); // works
var add_item = function(){
console.log(img_data); // works
async.waterfall([
function(callback){
console.log(img_data); // doesn't work
setTimeout(function(){
console.log(img_data); // works
// do some stuff and save the image
callback(null, 'all done');
}, 1000);
}
], function(err, result){
// handle err/result
});
}
// if add item btn clicked, then
add_item();
似乎img_data
没有加载,所以我想,我需要等待。但是如何确定超时所需的时间? (图像数据大小的变化)并且在没有上传图像的情况下,存在浪费时间的情况。如何只等到图像数据加载到变量?