내가 dojo.xhrPost이 아약스 호출은 function sendRequest()
설문 조사
에 의해 싸여있다
요청 전송하기 위해 사용하고 Ajax와 미꾸라지와 서버 I 지속적으로 (매 3 초)가 서버에 같은 아약스 포스트를 보내 지금했습니다
Dojo로 서버 설문을 구현하려면 어떻게해야합니까? 나는 기본적으로 그래서 여기에 적용 건너 프레임 워크의 일반적인 방법이다, sendRequest()
매 3 초
내가 dojo.xhrPost이 아약스 호출은 function sendRequest()
설문 조사
에 의해 싸여있다
요청 전송하기 위해 사용하고 Ajax와 미꾸라지와 서버 I 지속적으로 (매 3 초)가 서버에 같은 아약스 포스트를 보내 지금했습니다
Dojo로 서버 설문을 구현하려면 어떻게해야합니까? 나는 기본적으로 그래서 여기에 적용 건너 프레임 워크의 일반적인 방법이다, sendRequest()
매 3 초
내가 미꾸라지는 내장 폴링하는 방법을 가지고 있다고 생각하지 않습니다를 호출 할 필요가
var Poll = function(pollFunction, intervalTime) {
var intervalId = null;
this.start = function(newPollFunction, newIntervalTime) {
pollFunction = newPollFunction || pollFunction;
intervalTime = newIntervalTime || intervalTime;
if (intervalId) {
this.stop();
}
intervalId = setInterval(pollFunction, intervalTime);
};
this.stop = function() {
clearInterval(intervalId);
};
};
사용법 :
또는 귀하의 경우
var p = new Poll(function() { console.log("hi!"); }, 1000);
p.start();
setTimeout(function() { p.stop();}, 5000);
:
var p = new Poll(sendRequest, 3000);
p.start();
당신은으로 이것을하려면 도장 패키지는 다음 사소한 확장 :
dojo.provide("Poll");
dojo.declare("Poll", null, {
intervalId: null,
pollFunction: null,
intervalTime: null,
constructor: function(newPollFunction, newIntervalTime) {
this.pollFunction = newPollFunction;
this.intervalTime = newIntervalTime;
},
start: function(newPollFunction, newIntervalTime) {
this.pollFunction = newPollFunction || this.pollFunction;
this.intervalTime = newIntervalTime || this.intervalTime;
this.stop();
this.intervalId = setInterval(this.pollFunction, this.intervalTime);
},
stop: function() {
clearInterval(this.intervalId);
}
});
사용법 : 내가 찾은
var p = new Poll(function() {console.log("hi");}, 250);
p.start();
setTimeout(dojo.hitch(p, p.stop), 1000);
더 나은 다음과 같이 할 수있는 :
이 과정의 장점은 당신이 쉽게 스로틀 폴링 간격을 할 수있다 xhrGet 경우는, 잘 때 특정 XHR 작업을 작동 그것을 질식 시간 초과되며 폴링 요청의 민영화를 쉽게 구현할 수 있습니다.
계속 그리드를 업데이트하려면 그리드의 '새로 고침 - 완료'콜백 함수에 아약스 요청을 포함시킬 수 있습니다.
yourGrid.on('dgrid-refresh-complete', function(event) {
//Ajax request fireing every 3 sec
}