如何在返回结果之前执行image onload函数内部的代码?
我想返回在image onload函数内部执行的代码。代码是:如何在返回结果之前执行image onload函数内部的代码?,image,onload,Image,Onload,我想返回在image onload函数内部执行的代码。代码是: function loadImage() { var data = null; var image = new Image(); image.onload = function() { console.log("I am inside of image load function"); data = "I am inside"; } image.src="flower.jpg";
function loadImage() {
var data = null;
var image = new Image();
image.onload = function() {
console.log("I am inside of image load function");
data = "I am inside";
}
image.src="flower.jpg";
console.log("I am outside of image load function");
console.log(data);
return data;
}
firefox控制台中的结果是:
I am outside of image load function
null
I am inside of image load function
我想要的是,上面的代码应该返回在image onload函数中指定的数据值,即我希望返回的数据是我在里面。i、 e
I am inside of image load function
I am outside of image load function
I am inside
如何才能达到预期的效果
或
如何首先在image onload函数内部执行代码,然后仅在函数外部执行代码?我猜上面的示例是其他示例的简化示例 不太清楚您想要实现什么,但是看看您的代码,您是否理解空值出现的原因 点控制台上的数据可能为空。由于映像尚未完成加载,因此执行logdata
当映像加载时,您希望发生什么,并且您不能在卸载偶数处理程序中使其发生?我希望返回在映像onload函数中分配的数据,但我总是返回null。如何实现这一点?您不能返回在卸载函数中分配的数据,因为该函数将在load image方法返回后执行。您可以做的是传入一个回调,该回调可以从unload函数调用。