使用计时器来处理异步

时间:2017-12-15 08:30:26

标签: javascript asynchronous

以下代码可能不是处理异步的最佳方法。我知道使用回调函数,promises,rxjs是一个更清晰的方法。但是,我想知道使用它时是否存在很大的问题。

   var response = null;

   var int = setInterval(()=> {
                                if(window.response != null){ 
                                    console.log('arrived in interval'); 
                                    clearInterval(int);
                                } else { 
                                    console.log('waiting');
                                }
                             }, 500);

    $.get('url', (response)=>{
                             console.log('async arrived'); 
                             window.response = response;
    });

谢谢,

1 个答案:

答案 0 :(得分:1)

  • 效率低下。
  • 您一次只能执行一个异步请求,因为它们共享相同的window.response变量。或者您需要跟踪各个请求的几个不同变量。
  • 全球window.?!呸。你只是在寻找问题。
  • 你无论如何都在使用回调,实际上是两个。一个设置window.response = response,另一个设置setInterval
  • 很难跟踪,调试和阅读。
  • 它的代码多于直接回调替代方案。