js for循环嵌套异步函数


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

异步函数执行完之后;

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

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

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

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

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

        异步函数即可;

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

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

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

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

  

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

        

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM