每秒多个ajax请求

时间:2018-12-01 06:40:44

标签: jquery ajax

基本上,我想对以下代码使用setTimeout,以便每秒调用一次response()。

$(function(){
    var x = $('#front');
    var y = $('#back');
    var z = $('#side');
    $.when( $.ajax( "/front" ), $.ajax( "/back" ),$.ajax( "/side" ) ).done(response);
        function response( res1,res2,res3 ) {
        x.val(res1);
        y.val(res2);
        z.val(res3);
      }
});

对不起,因为我对此话题不感兴趣...

1 个答案:

答案 0 :(得分:0)

您可以使用PromisesetTimeout来实现所需的功能。查看下面的代码以供参考。

var promiseOneSecond = function(res) {
  return new Promise(function(resolve, reject){
    setTimeout(function(){
      resolve(res)
    }, 1000)
  })
}

promiseOneSecond('res1')
.then(function(res) {
  console.log(': ', res);
  return promiseOneSecond('res2');
})
.then(function(res) {
  console.log(': ', res);
  return promiseOneSecond('res3');
})
.then(function(res) {
  console.log(': ', res);
})