Javascript 如何在后台创建异步循环?

Javascript 如何在后台创建异步循环?,javascript,jquery,Javascript,Jquery,我讨厌问这样一个看似笼统的问题,但无论我在哪里搜索,他们似乎都回避了这个问题 我想创建一个程序,它有一个循环,每5秒从服务器获取数据并发布。我意识到我需要使用异步来实现这一点 我读了几篇关于异步性的文章,但每篇文章都引用了一个异步方法,但没有直接提到“好的,这就是创建异步循环的方式” 到目前为止,我发现的常见线程引用: -回调(将一个anon函数传递到另一个函数?) -Call()/apply() -Jquery方法 激活异步函数的方法之一似乎是使用回调。这是否意味着每次我将函数作为变量传递时,

我讨厌问这样一个看似笼统的问题,但无论我在哪里搜索,他们似乎都回避了这个问题

我想创建一个程序,它有一个循环,每5秒从服务器获取数据并发布。我意识到我需要使用异步来实现这一点

我读了几篇关于异步性的文章,但每篇文章都引用了一个异步方法,但没有直接提到“好的,这就是创建异步循环的方式”

到目前为止,我发现的常见线程引用: -回调(将一个anon函数传递到另一个函数?) -Call()/apply() -Jquery方法

激活异步函数的方法之一似乎是使用回调。这是否意味着每次我将函数作为变量传递时,该函数都将独立于作用域的其余部分运行?

使用setinterval()函数

setInterval(function(){
  $.ajax({ ... });
},5000);
使用setinterval()函数

setInterval(function(){
  $.ajax({ ... });
},5000);

对于ajax来说,这似乎是一个沉重的负担……但是

setInterval(function(){
   $.ajax({
     url:---,
     type:--,
     data:--,
    success: function (data) {
      myfunction(data); //will call when ajax has finished i.e. callback
    }
   });
 },5000);

所有的ajax都是asyc…A..jax

对于ajax来说似乎是一个沉重的负担……但是

setInterval(function(){
   $.ajax({
     url:---,
     type:--,
     data:--,
    success: function (data) {
      myfunction(data); //will call when ajax has finished i.e. callback
    }
   });
 },5000);

所有的ajax都是asyc…A..jax

这是异步的,是因为正在传递一个anon函数还是因为正在使用ajax?这是异步的,因为该函数仅在5000毫秒后调用。我不会每隔5秒调用一次,我会在最近一次请求返回后5秒执行此操作。这是异步的,是因为传递了anon函数还是因为使用了ajax?这是异步的,因为函数仅在5000毫秒后调用。我不会每5秒执行一次,我会在最近一次请求返回后5秒执行此操作。