Ext 7 읽기(다중 작업 시간 관리)
3871 단어 ext
var task = {
run : function(){...},
interval : 1000,
args : [],
scope : obj,
duration : 5000,
repeat : 3
}
run과interval은 필수이며, 다른 것은 선택할 수 있습니다.
공중 클래스는 다음과 같습니다.
Ext.util.TaskRunner = function(interval){
interval = interval || 10;
var tasks = [],
removeQueue = [],
id = 0,
running = false,
...
// private
runTasks = function(){
...
};
this.start = function(task){
...
};
this.stop = function(task){
...
};
this.stopAll = function(){
...
};
};
Ext.TaskMgr = new Ext.util.TaskRunner();
Ext.util.TaskRunner는 하나의 클래스로 new를 사용해야 합니다.정의 방식은 동일Ext.util.DelayedTask, 채택구조 함수 방식이다.세 가지 인터페이스 방법, start,stop,stopAll을 외부에 제공했습니다.또 다른 한 무더기의 개인 함수는 전체 종류를 구성하는 데 협조하는데 그 중에서 가장 중요한 것은runTasks,this.start에서 호출합니다.마지막 문장은 최고급 명칭 공간인 Ext에 TaskMgr이 걸려 있음을 볼 수 있습니다. Ext 라이브러리 자체는 Ext.TaskMgr를 사용하여 다중 작업의 시간 관리를 합니다.
다음은 먼저 이 종류의 사용 예시 1을 열거한다
//
var taskMgr = new Ext.util.TaskRunner();
//
var task1 = {
run : function(){
console.log('test');
},
interval : 1000
};
// task1
taskMgr.start(task1);
컨트롤러에서 1초마다test를 출력하는 것을 볼 수 있습니다.run은function 형식입니다. 즉, 작업을 표시합니다.interval은 Number 형식으로 작업 수행 간격을 나타냅니다.예제 2
//
var taskMgr = new Ext.util.TaskRunner();
//
var task1 = {
run : function(){
console.log(arguments);
console.log(this);
},
interval : 1000,
args : [1,2],
scope : window
};
// task1
taskMgr.start(task1);
컨트롤러에서 1초마다 "[1,2]", "윈도우"를 출력하는 것을 볼 수 있다.즉, args(Array 형식)는 run이 호출할 때의 매개 변수이고, scope(Object 형식)는 run이 실행할 때의 상하문입니다.예 3
//
var taskMgr = new Ext.util.TaskRunner();
//
var task1 = {
run : function(){
console.log('test');
},
interval : 1000,
duration : 5000
};
// task1
taskMgr.start(task1);
컨트롤러에서 볼 수 있듯이 여전히 1초에 한 번씩 "test"를 출력하지만 5초 후에 멈춘다.즉duration(정수, 단위는 밀리초)은 작업run이 계속 실행하는 시간으로 이 시간을 초과하면 다시 실행하지 않습니다.duration을 4900으로 설정해도 5회 실행됩니다.예 4
//
var taskMgr = new Ext.util.TaskRunner();
//
var task1 = {
run : function(){
console.log('test');
},
interval : 1000,
repeat : 3
};
// task1
taskMgr.start(task1);
컨트롤러에서 볼 수 있듯이 여전히 1초에 한 번씩 "test"를 출력하지만, 출력을 세 번 하면 멈춘다.즉, repeat(Number 형식)는 작업run이 수행하는 횟수이며, 이 횟수를 초과하면 실행하지 않습니다.주의,repeat는 소수(예를 들어 3.3)일 수 없습니다. 그렇지 않으면 세 번이 아니라 계속 실행됩니다.상기 예는 임무 대상의 각 속성적 의미를 이해했다.단지 하나의 임무일 뿐,
//
var taskMgr = new Ext.util.TaskRunner();
//
var task1 = {
run : function(){
console.log('test1');
},
interval : 1000,
};
var task2 = {
run : function(){
console.log('test2');
},
interval : 3000,
};
//
taskMgr.start(task1);
taskMgr.start(task2);
컨트롤러에서 볼 수 있듯이 여전히 1초에'test1','test2'를 출력하고, 2초에는test1만 출력하고, 3초에'test1','test2'를 출력합니다.두 가지 임무가 수행되고 있습니다.start 방법, stop과 stopAll 방법을 알면 잘 이해할 수 있습니다.복창할 필요가 없다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ExtJS 3.2 학습 노트(3) 사용자 정의 이벤트Extjs에서 모든 상속은 Ext.util에서 합니다.Observable 클래스의 컨트롤은 이벤트를 지원할 수 있습니다. 클래스에 대해 이벤트를 사용자 정의하려면 다음 절차를 따르십시오. 1, 먼저 클래스를 정의합니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.