发表于: 2017-06-21 21:54:39

1 893


  • 今天完成的事情:

  • 1、进行UI自检。

  • 2、codereview之后修改代码中不合理的地方。


明天计划的事情:

  • 1、完成demo,准备之后的内容。

  • 2、打好基础,加深对基础知识的理解,每天抽点时间看之前买的书。


      • 遇到的问题:

      • 1、html中的class类名采用了小驼峰法来写,应该采用-连接的。于是又去学习了下代码书写规范及要求。

      • 2、代码中很多书写过程中的console.log()信息,导致在codereview的时候需要全部删掉。看来在实现功能之后,这些信息就都可以删掉了,不用等到最后一起处理。


  • 收获:

    1、如何用js循环发送ajax请求:如同下面这个代码:因为ajax是异步的,所以没有办法使得每一个i值对应一个ajax请求,会导致循环先执行完毕。无法做到一一对应。

    1. for(var i=0; i<items.length; i++){  
    2.     api_url = items[i].url;  
    3.     console.log(i);  
    4.     $.ajax({  
    5.         type: 'get',  
    6.         url: api_url,  
    7.         dataType: "json",  
    8.         async: false,  
    9.         success: function(json){  
    10.             console.log("test");  
    11.             var img = json.img;  
    12.         },  
    13.         error: function(data){  
    14.               
    15.         }  
    16.     });  
    17. }  

    所以采用了以下的代码:采用递归的方式,只有在ajax请求成功之后才会再次请求,保证数据能一一对应,而且顺序不会乱,在复盘项目中的推荐公司部分就采用了这种思路,根据公司ID来请求公司详情,并按请求的顺序输出,由于angualr中的$http请求是异步的,没有办法使得输出的顺序正好对应,所以采用了递归的写法。但是个人感觉这种方法不是很好,应该还有更好的办法来实现。

    1. currentIndex = 0;  
    2. function getImg(){  
    3.     if(currentIndex>=items.length){   
    4.         return;  
    5.     }  
    6.     var url = item[url];  
    7.     console.log(i);  
    8.     $.ajax({  
    9.         type: 'get',  
    10.         url: url,  
    11.         dataType: "json",  
    12.         async: false,  
    13.         cache: true,  
    14.         success: function(json){  
    15.             currentIndex++;  
    16.             console.log("test");  
    17.             var img = json.img;  
    18.   
    19.             getImg();  
    20.         },  
    21.         error: function(data){  
    22.             console.log("error...");  
    23.             currentIndex++;  
    24.             getImg();  
    25.         }  
    26.     });  
    27. }  



    返回列表 返回列表
    评论

      分享到