js for循環嵌套異步函數


  最近項目里遇到一個問題:js 中for循環里面嵌套了異步函數,需求是每次執行循環中的異步函數時必須是在上次循環的

異步函數執行完之后;

  解決方案針對不同情景如下:

    關鍵點:Vue 中的 watch 對象的使用

    情景一:每次異步循環中,需要根據異步數據來進行用戶的交互然后進行下次的異步循環;(如:三次的異步循環,每次

        循環的時候需要把得到的數據讓用戶選擇,選擇完之后進行下次的異步循環)

        方法: 在 watch 里面監聽每次循環的索引,當每次異步函數執行完之后改變索引 (如:+1),這個時候在執行

        異步函數即可;

    情景二:每次的異步循環中,不需要進行用戶的交互只需要按照每次異步循環的順序,確定得到異步數據的順序;

        方法:使用for循環,在 watch 對象里面聲明一個對應循環執行次數的數組,每次根據執行的索引來填充

        相應的位置數據(如:第二次異步循環先結束的話就在數組 arr[1]的位置填充異步數據,第一次異步執行完后

        就在arr[0]的位置填充數據);就這樣保證了異步循環數的有序性;

  

  總結:對於新上手的框架需要多看多學,如果不懂watch的話,問題很難解決

        

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM