假设我有以下代码使用canvasResize
插件调整图像大小,然后返回已处理的Blob数据。
如果我将alert
变量f
放在现在的位置,f
将不为空。但是,如果我尝试在函数结束时返回之前检查f
变量,那么它将为null。
function resizeFile(file){
var f=null;
$.canvasResize(file,
{
width: 400,
height: 0,
crop: false,
quality: 100,
callback: function (data)
{
// Add file data
f = $.canvasResize('dataURLtoBlob', data)
if(f!=null){
alert(f)
}
else{
alert("file blob is null")
}
$('body').css("background", "url("+data+")")
}
});
return f;
}
答案 0 :(得分:2)
在您的代码中,f
变量在callback
函数中初始化,该函数在调整大小完成后执行。
因此,首先调用return f
,然后调用callback
函数,因此它将是null
。