当前位置:  开发笔记 > 编程语言 > 正文

Javascript执行顺序 - 它是怎么做到的?

如何解决《Javascript执行顺序-它是怎么做到的?》经验,为你挑选了1个好方法。

我很遗憾为什么Javascript以这种方式做某些事情,或者我编写错误的东西.但是,在回调完成之前,$ .getJSON之后的代码怎么会被执行?

window.ratingCallback = function(data){

     if(data[0].code == 3){  
         ratingHTML = buildHTML(0);
         console.log('a'+ratingHTML);
         return;
     }

     ratingHTML = buildHTML(data[0].rating);
     console.log('b'+ratingHTML);
     return;
 };

  function buildHTML(pageRating){

     for(counter = 1; counter <= 5; counter++){

         if(counter == pageRating){
                 ratingHTML += '';
         } else {
                 ratingHTML += '';    
         }
     }

     return ratingHTML;
 }


$.getJSON("https://domain.com/"+data+"?jsoncallback=?");

console.log(ratingHTML+"WHY DOES THIS EXECUTE FIRST AND NOT AFTER THE CALLBACK SINCE IT IS PLACED AFTER getJSON????");

我希望它与众不同的原因是我需要将ratingHTML作为全局变量.

我知道当远程服务器给出响应时会调用回调,但是我可以让其余的脚本等待进一步执行吗?不将所有代码放在回调函数或任何函数中?

非常感谢你!



1> M4N..:

getJSON()调用是异步的.

它甚至在文档中提到过(http://docs.jquery.com/Ajax/jQuery.getJSON):

注意:请记住,此函数之后的行将在回调之前执行.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有