欢迎光临
我们一直在努力

Javascript如何处理循环

今天小编给大家分享一下Javascript如何处理循环的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

案例:

compute.exec()这是个异步方法,在里面处理一些实际业务,这时候打印出来的很可能就是300,300,300(因为异步for循环还没有等异步操作返回Promise对象过来i值已经改变成300了)

function getMoney(){
    var money=[100,200,300]
    for(let i=0; i<money.length; i++){
        compute.exec().then(()=>{
            console.log(money[i])
        })
    }
}

一、async/await 处理思路

async function getMoney(){
    var money=[100,200,300]
    for( let i=0; i<money.length; i++){
        await compute.exec().then(()=>{
            console.log(money[i])
        })
    }
}
// async告诉getMoney方法里面存在异步的操作
// await放在具体异步操作(方法)前面,意思是等待该异步返回Promise才会继续后面的操作

二、递归处理思路

function getMoney(i) {
  var money=[100,200,300]
  compute.exec().then(() => {
    if ( i < money.length ) {
      console.log(money[i]);
      i++;
        getMoney(i);
      }
   });
}
getMoney(0);//开始调用
//用递归来实现自我循环(具体循环在then里面,可以确保前面的compute.exec()的异步操作完成).then()是返回了Promise对象为resolve后才进行的(可以了解一下Promise对象)

以上就是“Javascript如何处理循环”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注云搜网行业资讯频道。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。