请求URL,直到所需数据到达

时间:2016-07-13 19:16:12

标签: javascript ajax

在普通Javascript中,当响应中存在所需数据时,定期请求URL和取消请求的最佳方法是什么?

说,我正在请求返回JSON的posts URI,并希望在响应中的numberOfPosts属性等于某些N时取消请求。

谢谢!

2 个答案:

答案 0 :(得分:0)

setInterval()与您的网络服务电话合并,并在通过clearInterval()获得预期回复后取消间隔。

关于setInterval()的MDN:

  

重复调用函数或执行代码片段,每次调用之间有固定的时间延迟。返回intervalID

答案 1 :(得分:0)

这是对我所接受的已接受答案的setInterval方法的演示(getJSONResponse包含所有请求处理逻辑):

var POLL_INTERVAL = 50;
var URI = 'posts'; 
var timerId = setInterval(function() {
  var response = getJSONResponse(URI);
  if (response.numberOfPosts === N) {
    // Process response
    ... 
    clearInterval(timerId);
  }
}, POLL_INTERVAL);