收藏
回答

如何让for循环结束后,再执行下一条语句?

因为小程序是异步,在我for循环还没有执行完之前,就已经开始执行下一条语句了。但是我后面语句是需要调用for循环完成后的完整数据的,for循环好像又没有回调函数。所以,请问有没有办法让让for循环结束后,再执行下一条语句呢?

回答关注问题邀请回答
收藏

6 个回答

  • 清茶涩
    清茶涩
    2021-06-29

    如果你for里面没有用异步方式,for本身是同步的呀。如果for用了异步操作,那么就只能判断index或者递归了

    2021-06-29
    有用 1
    回复
  • 向日葵可以吃呀
    向日葵可以吃呀
    2021-06-29
    之前做过类似的需求,我是这样写的:
    executeAsynForfunction() {
        return new Promise((resolve, reject) => {
           for(let i=0; i<length; i++) {
              // 执行异步操作
              ......
              // 判断for循环的异步操作都完成后,resolve
              // data为for循环完成后的完整数据
              resolve(data)
           }
        })
     },
    // 在需要执行异步for循环的地方调用上面的函数
    
    2021-06-29
    有用 1
    回复
  • 微喵网络
    微喵网络
    2021-06-29

    Promise.all

    2021-06-29
    有用 1
    回复
  • 15
    15
    2021-06-29

    Promise.all是比较好的

    2021-06-29
    有用
    回复
  • 老张
    老张
    2021-06-29

    将异步await

    2021-06-29
    有用
    回复
  • 一笑皆春
    一笑皆春
    2021-06-29

    不行就写在for循环里边,判断 i 是最后一次再执行

    2021-06-29
    有用
    回复
登录 后发表内容