функция ожидания с возвратом, пока $.getJSON не завершится

Я пишу функцию, которая должна получить информацию о миниатюре из данного видео с помощью API embed.ly, однако в настоящее время функция возвращает значение еще до того, как она получила результат JSON от API.

Я использую следующий код:

function getThumbnail(vUrl) {
    var thumbnail   = '';
    var title       = '';
    var caption     = '';
    var content     = '';

    $.when( $.getJSON("http://api.embed.ly/1/oembed?key=:key&url="+vurl) ).then(function(data){
        var thumbnail = data.thumbnail_url;
            console.log(thumbnail);

        return {
            thumbnail:thumbnail,
            vurl:vurl
        }
    });
}

Однако при использовании консоли Chrome Javascript я вижу, что:

  1. функция вызывается
  2. возвращается undefined
  3. запрос XHR завершен
  4. миниатюра переменной содержимое отображается в консоли

Очевидно, что это неправильный порядок.

Будем признательны за любую помощь!

22
задан xorinzor 27 May 2012 в 17:10
поделиться