在普通Javascript中,当响应中存在所需数据时,定期请求URL和取消请求的最佳方法是什么?
说,我正在请求返回JSON的posts
URI,并希望在响应中的numberOfPosts
属性等于某些N
时取消请求。
谢谢!
答案 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);