美文网首页
关于异步回调问题

关于异步回调问题

作者: Homary | 来源:发表于2019-02-27 20:04 被阅读0次

    JavaScript是单线程!!!

    由于一些原因,我在发出ajax请求之后需要在请求成功的回调判断是否获取到了所需的数据, 如果失败了,则递归调用,继续请求;

    function ajax(){
      // 异步操作
      if(异步返回结果出错){
        // 递归
         ajax();
      }
      console.log('123')
    }
    
    ajax();
    

    期望的是异步结果出错时就递归,但是由于ajax()里面有异步操作,所以当递归到异步操作时又会回过头来执行console.log('123');
    所以此时我们可以在加一个return解决此问题;

    function ajax(){
      // 异步操作
      if(异步返回结果出错){
        // 递归
         ajax();
         
         // 将函数return
         return
      }
      console.log('123')
    }
    
    ajax();
    

    相关文章

      网友评论

          本文标题:关于异步回调问题

          本文链接:https://www.haomeiwen.com/subject/ezlfuqtx.html