如何在返回结果之前执行image onload函数内的代码?

时间:2011-10-15 16:25:39

标签: 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";
   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 am inside of image load function
I am outside of image load function
I am inside

怎么做才能得到理想的结果?

如何首先执行图像onload函数内部的代码,然后才在函数外部执行?

1 个答案:

答案 0 :(得分:0)

我猜测上面的例子是其他东西的简化样本?

不太确定你想要实现的是什么但是看看你的代码你是否理解为什么null会出现在哪里呢?

数据在控制台上可能为空。执行日志(数据),因为图像尚未完成加载。

当你加载图像时你想要发生什么?你不能在卸载甚至处理程序中实现它吗?