关于异步回调问题

2019-02-27  本文已影响0人  Homary

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();
上一篇 下一篇

猜你喜欢

热点阅读