猿问

js中for循环多次执行,退出之前循环问题

function aa () {
    (async () => {      for (let i = 0; i < 10; i++) {        console.log(i, 'iiiii')        await new Promise((resolve1, reject1) => {          (async () => {            for (let j = 0; j < 20; j++) {              await new Promise((resolve, reject) => {
                setTimeout(() => {
                  resolve()
                }, 5000)
              })              console.log(i, j)
            }
            resolve1()
          })(this)
        })
      }
    })(this)
}

先执行aa()等五秒后再执行aa()

上面的两个循环在点击的时候会执行,如果我点了5次,那么for除了执行最后点击一次循环,前面的4次如果没有完成,还是会执行。请问怎么跳过之前的循环不执行,直接执行最后一次?


喵喵时光机
浏览 592回答 1
1回答

Smart猫小萌

&nbsp;async&nbsp;function&nbsp;fn()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(let&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;10;&nbsp;i++)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(let&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;<&nbsp;10;&nbsp;j++)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;res&nbsp;=&nbsp;await&nbsp;Promise.resolve('result')&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(res)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;} fn()
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答