我想返回在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函数内部的代码,然后才在函数外部执行?
答案 0 :(得分:0)
我猜测上面的例子是其他东西的简化样本?
不太确定你想要实现的是什么但是看看你的代码你是否理解为什么null会出现在哪里呢?
数据在控制台上可能为空。执行日志(数据),因为图像尚未完成加载。
当你加载图像时你想要发生什么?你不能在卸载甚至处理程序中实现它吗?