我需要做些什么才能让我的回调函数在其他事情之前运行?

时间:2012-03-10 22:23:22

标签: javascript json

所以在js文件中我有这个:

if(players[i].src.indexOf("http:\/\/vimeo.com/moogaloop") == 0){
    var videoId = players[i].src.split("clip_id=")[1].substring(0, 8);

    var callback = 'getThumb';
    var jsonUrl = 'http://vimeo.com/api/v2/video/' + videoId + '.json?callback=' + callback;

    var js = document.createElement('script');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', jsonUrl);
    document.getElementsByTagName('head').item(0).appendChild(js);

    var thumb;
    function getThumb(video) {
    thumb = video[0].thumbnail_medium;

    }

目的是获取vimeo视频的缩略图。我遇到的问题是它贯穿并完成后面的东西,然后运行该功能。问题是我需要缩略图实际执行后面的东西,所以它尝试使用未定义的变量。一切都是有效的,这意味着如果按照我想要的顺序运行,它就可以正常工作。

1 个答案:

答案 0 :(得分:2)

您应该在回调中的代码中放置任何需要运行的代码,而不仅仅是在文件中。