`
sp42
  • 浏览: 147317 次
  • 来自: Canton
文章分类
社区版块
存档分类
最新评论

用Ext编排JavaScript任务

阅读更多
《用Ext编排JavaScript任务Ext.TaskMgr Scheduling JavaScript Tasks》
By Aaron Conran
Ext支持版本: 1.x/2.0

     Ext.TaskMgr是ExtJS库中一项未归档的功能,允许以可编程的方式编排调度某项任务。你可反复每隔一定时间地运行,也可以指定每个任务运行的次数、运行的持续时间和运行的频率等等。Ext.TaskMgr其实是Ext.TaskRunner的一个实例,它的源码可以source/util/TaskMgr.js找到。

    要编排一个任务,你可以按照以下的语句:
Ext.TaskMgr.start({run: myFunction, interval: 1000});

    除非关闭浏览器或调用stop方法停止任务,如果不是每一秒就会运行一次名为myFunction的函数。

任务的配置项:
* run: 编排的函数
* scope: 执行的作用域
* interval: 运行的频率
* duration: 运行多久
* args: 要传入到编排函数内的参数,缺省下函数所接受到的参数为你任务已运行的次数
* repeat: 任务运行的次数

    值得注意的是,如果你安排了一个间隔时间500ms的任务,它运行10次后所花的时间并非一定绝对是5000ms,可能有少少误差,如果要避免这种误差,你应配置repeat项代替duration。
    TaskMgr对象并没有自带的延时执行任务功能,不同我们可以通过方法defer来到达推迟(延时)任务的目的:
Ext.TaskMgr.start.defer(4000, this, [{run: this.myFunction, interval: 1000, scope: this}]);

    把这些功能归纳在一起放到下面的例子:
var UtilityClass = function() {
	return {
		myOtherTask: function(val) {
			console.log('running in a different class: ' + val)
		}
	};
};

var TaskMgrTest = function() {
	return {
		init: function() {
			var util = new UtilityClass();
			/* run this.myTask every 5000ms in the scope of this */
			Ext.TaskMgr.start({run: this.myTask, interval: 5000, scope: this});
			
			/* run util.myOtherTask every 500ms for 5000ms in the scope of util */
			/* override the default argument by a passed in array */
			Ext.TaskMgr.start({run: util.myOtherTask, interval: 500, scope: util, args: ['overriden value'], duration: 5000});
			
			/* run this.theLastOne every 1000ms 10x in the scope of this */
			/* defer (delay) the scheduling of the task for 4000ms */
			Ext.TaskMgr.start.defer(4000, this, [{run: this.theLastOne, interval: 1000, repeat: 10, scope: this}]);
		},
		myTask: function() {
			console.log('hola ' +  new Date().getTime());				
		},
		/* by default we are passed an argument of numTimesRun */
		/* which keeps track of how many times this task has run */
		theLastOne: function(numTimesRun) {
			console.log('only run ' + numTimesRun + '/10');
		}				
	};	
}();
Ext.EventManager.onDocumentReady(TaskMgrTest.init, TaskMgrTest);

分享到:
评论
7 楼 reignile 2008-03-25  
版里这么多高手,为什么一个月来我发的3个菜鸟级的问题一个人都没回过我,好可怜。。。。。
6 楼 header007 2008-03-25  
谢谢sp42的帖子
  精华啊,太感谢了
5 楼 sp42 2008-02-23  
备忘:EXT2.0的文档正式纳入Ext.TaskMgr了。
4 楼 sp42 2008-02-15  
在自动化测试的时候,可以试试
3 楼 fangzhouxing 2008-02-14  
什么场景下需要这样的功能,能否举几个具体的例子?
2 楼 sp42 2008-02-13  
Kaki有安装Firebug吗?
F12弹出Firebug,输出在console的那个tab上
1 楼 kaki 2008-02-13  
十分感谢,正在寻找这样的。

console.log 输出在什么地方??

相关推荐

    ExtJS Ext ExtJavascript Javascript

    ExtJS 是一个强大的JavaScript前端框架,专为构建富交互式的Web应用程序而设计。它提供了丰富的组件库、数据绑定、布局管理、以及强大的Ajax功能,帮助开发者创建出具有桌面级用户体验的网页应用。ExtJS 使用了Sass...

    Ext框架JavaScript开源框架

    Ext框架JavaScript开源框架Ext框架JavaScript开源框架

    ext js javascript ext设计软件

    总的来说,EXT JS JavaScript EXT设计软件提供了一个完整的解决方案,帮助开发者用JavaScript构建高性能、响应式的企业级Web应用。通过熟练掌握EXT JS,开发者可以创建出具有专业品质的用户界面,并享受到高效的开发...

    ext ,javascript流程设计插件

    EXT 和 JavaScript 流程设计插件是用于创建和管理复杂工作流程的强大工具,它们结合了EXT的用户界面组件库和JavaScript的动态性,为开发者提供了一种高效、灵活的方式来构建图形化的工作流编辑器。EXT 是一个基于 ...

    EXTjavaScript 适合于做后台管理的界面的使用代码

    EXTJavaScript 的核心是EXTJS,它是一个用纯JavaScript编写的客户端富因特网应用程序(RIA)框架。 在后台管理界面的开发中,EXTJavaScript 提供了一系列的控件和组件,如表格(Grid)、树形视图(Tree)、表单...

    JavaScript凌厉开发Ext详解与实践(源码)

    这本书主要围绕JavaScript的Ext库展开,讲解了如何高效地使用Ext进行Web前端开发。 首先,书中第03章“Ext基础”介绍了ExtJS的基本概念和架构,包括其核心组件、布局管理、数据绑定等。学习这一章节,读者可以了解...

    ext javascript脚本库类图

    ext ,javascript,脚本库类图,ext js

    ext 2 (javascript经典应用)

    EXT 2 是一个基于 JavaScript 的前端开发框架,尤其在创建富互联网应用程序(Rich Internet Applications, RIA)方面表现卓越。这个框架由 Sencha 公司开发,它提供了一套全面的组件模型,允许开发者构建功能丰富的...

    ext工作流javascript

    例如,使用GridPanel展示工作流状态,用FormPanel处理用户输入,用Button和ToolBar进行操作控制。工作流的状态可以通过Store与服务器进行同步,实现数据的增删改查。 接下来,我们要了解如何设计工作流模型。这通常...

    Ext2.0 javascript类库.rar

    ext是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了, 主要包括data,widget,form,gird,dd,menu,其中最强大的应该算gird了,编程思想是基于面对对象编程(oop),扩展性相当的好.可以自己写扩展.自己定义命名...

    javascript类库ext,js

    javascript类库-ext.js,javascript类库-ext.js

    Ext JS - JavaScript Library

    Ext JS 是一个强大的JavaScript库,专门用于构建富客户端Web应用程序。这个库以其丰富的用户界面组件、数据绑定功能和可扩展性而闻名。Ext JS 提供了一整套预先封装的组件,如表格、面板、菜单、按钮、表单、树形...

    不错的日历控件(JavaScript、ext)

    本文将深入探讨“不错的日历控件”,特别是基于JavaScript和EXT技术实现的这种控件。 首先,JavaScript是一种广泛应用于网页开发的脚本语言,它可以动态更新网页内容,提高用户体验。在网页中实现日历控件,...

    Ext JavaScript API 源代码

    Ext JavaScript API 源代码

    JavaScript凌厉开发——Ext详解与实践 源码 源代码 part3

    JavaScript凌厉开发——Ext详解与实践 源码 源代码 part3 因为源代码比较大,压缩后76M左右 所以分为四个包上传

    JavaScript凌厉开发——Ext详解与实践

    JavaScript凌厉开发——Ext详解与实践

    Ext-Gantt和相关js如ext-all.js ext-base

    它基于Ext JS框架,一个广泛使用的富客户端JavaScript库,提供了一系列组件和功能,用于构建交互式的用户界面。Ext JS的核心文件包括`ext-all.js`和`ext-base.js`,它们为Ext-Gantt提供了必要的基础架构。 `ext-all...

    css,ext,javascript,jquery1.2,seo 速查表

    EXT是一个基于JavaScript的富客户端应用框架,主要用于构建Web应用程序的用户界面。EXTJS提供了一套完整的组件模型,包括数据绑定、数据网格、图表、表单、窗口、面板等,使得开发者能够创建功能强大的桌面级Web应用...

    ext下载包,ext,ext包,ext下载

    "ext-all.js"是EXT库的主要JavaScript文件,包含了EXT的所有功能,适合在生产环境中使用。这个文件通常在网页中通过`<script>`标签引入,以启用EXT的功能。 资源文件夹"resources"是EXT库的样式和图像资源所在之处...

Global site tag (gtag.js) - Google Analytics