Как выполнить код внутри функции загрузки изображения перед возвратом результата? - PullRequest
0 голосов
/ 15 октября 2011

Я хочу вернуть код, выполненный внутри функции загрузки изображения.Код:

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

Что я хочу, приведенный выше код должен возвращать значение данных, назначенных внутри функции загрузки изображеният.е. я хочу, чтобы возвращаемые данные были "Я внутри".то есть

I am inside of image load function
I am outside of image load function
I am inside

Что делать, чтобы получить желаемый результат?

или

Как сначала выполнить код внутри функции загрузки изображения, а затем только внефункция?

1 Ответ

0 голосов
/ 15 октября 2011

Полагаю, что приведенный выше пример представляет собой пример чего-то еще?

Не совсем уверен, чего вы пытаетесь достичь, но, глядя на ваш код, понимаете ли вы, почему ноль приходит туда, где онделает?

данные могут быть нулевыми в точке console.log (data) выполняется, потому что изображение не завершило загрузку.

Что вы хотите, чтобы произошло, когда изображение загружается и можетВы делаете это изнутри даже в обработчике unload?

...