如何在返回结果之前执行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";

我想返回在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";
   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函数调用。