【发布时间】:2017-07-14 04:29:39
【问题描述】:
更具体地说,我想等到当前请求得到处理。处理完后,再做一个,在前一个处理完后等待一秒钟。在客户端断开连接的情况下,我希望继续发出请求,因此整个过程不会停止。
我下面的代码只是一次发出一堆请求:
makeLiveRequest(testState) {
var that = this;
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: '/getData',
type: 'GET',
dataType: 'JSON',
success: function(response) {
that.$set(that.state, 'testData', response);
},
complete: function (data) {
that.convertChartData();
setTimeout(that.makeLiveRequest, 5000);
}
});
this.makeLiveChartRequest();
},
网上看了一下,好像不推荐setInterval。有什么想法吗?
【问题讨论】:
-
在客户端断开连接的情况下,没有更多的客户端应用程序发出请求。所以我认为这是不可能的。
-
你的逻辑看起来不错,你确定
that有一个makeLiveRequest方法吗?它不会作为 settimeout 的回调。
标签: javascript ajax