按顺序获取异步数据,可以用递归的方式

异步函数不应该用直接循环,不然项目的执行顺序是不确定的。 应该用递归:

var arr = ["a","b","c"];

(function loop(index) {

       setTimeout(function(){//用setTimeout模拟异步函数

              console.log(arr[index]);

            if (++index<arr.length) {

                 loop(index); } else {

           console.log("全部执行完毕");

              } }, 500)

})(0);

 

 

后记:用递归可以,也可以用promise

 

 

posted @ 2019-05-25 23:34  fanbu  阅读(310)  评论(0编辑  收藏  举报