Ext 읽기 6(작업 수행 지연)
1683 단어 ext
Ext.util.DelayedTask = function(fn, scope, args){
var me = this,
id,
call = function(){
clearInterval(id);
id = null;
fn.apply(scope, args || []);
};
me.delay = function(delay, newFn, newScope, newArgs){
me.cancel();
fn = newFn || fn;
scope = newScope || scope;
args = newArgs || args;
id = setInterval(call, delay);
};
me.cancel = function(){
if(id){
clearInterval(id);
id = null;
}
};
};
전체적으로 보면 쓰기 방식은 채택한 것이다구조 함수 방식 (필드, 방법을 내부this에 걸고) 물론 여기this에는 필드가 없고 두 가지 방법인delay와cancel만 걸었습니다.set Timeout 대신 set Interval과clear Interval을 교묘하게 사용합니다.DelayedTask에는 세 개의 매개 변수가 있습니다. fn은 실행 지연이 필요한 함수 (필수지만delay에 지정할 수 있습니다), scope는 이 함수가 실행될 때의 상하문 (선택 가능), args는 이 함수에 전달되는 매개 변수 (선택 가능) 입니다.delay 방법의 다음 세 가지 매개 변수는 DelayedTask 구조기와 같고 첫 번째 매개 변수는 지연이 필요한 시간 숫자로 밀리초입니다.예는 다음과 같습니다.
function fn(){
alert('test');
}
var task = new Ext.util.DelayedTask(fn);
task.delay(2000);
fn을 2초 후에 실행합니다.이것은 가장 간단한 예이다. 복잡한 것은 fn의 실행 상하문을 지정할 수 있고 매개 변수를 전달할 수 있다.이 종류는 Ext.util에 있습니다.이벤트 클래스에서 개인 함수인createBuffered,createDelayed가 사용됩니다.이 두 함수는 Ext.util에 있습니다.Event의createListener 방법에 사용됩니다.
다음 Ext.util.TaskRunner는 더욱 강력하고 멀티태스킹 시간 관리 기능을 제공합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.