js for循环嵌套异步函数

  最近项目里遇到一个问题:js 中for循环里面嵌套了异步函数,需求是每次执行循环中的异步函数时必须是在上次循环的

异步函数执行完之后;

  解决方案针对不同情景如下:

    关键点:Vue 中的 watch 对象的使用

    情景一:每次异步循环中,需要根据异步数据来进行用户的交互然后进行下次的异步循环;(如:三次的异步循环,每次

        循环的时候需要把得到的数据让用户选择,选择完之后进行下次的异步循环)

        方法: 在 watch 里面监听每次循环的索引,当每次异步函数执行完之后改变索引 (如:+1),这个时候在执行

        异步函数即可;

    情景二:每次的异步循环中,不需要进行用户的交互只需要按照每次异步循环的顺序,确定得到异步数据的顺序;

        方法:使用for循环,在 watch 对象里面声明一个对应循环执行次数的数组,每次根据执行的索引来填充

        相应的位置数据(如:第二次异步循环先结束的话就在数组 arr[1]的位置填充异步数据,第一次异步执行完后

        就在arr[0]的位置填充数据);就这样保证了异步循环数的有序性;

  

  总结:对于新上手的框架需要多看多学,如果不懂watch的话,问题很难解决

        

  

 

posted @ 2020-12-24 00:42  gamecc666  阅读(1490)  评论(0)    收藏  举报