首页 教程 API文档

hold指定函数

2015-09-09 16:35:41

属性


使用频率
所属模块 Std.holder
成员类型 公有成员函数

描述


hold方法用于增加新的hold任务,被hold的函数会被立即执行,在函数中的指定位置使用release方法可以释放这个hold任务.

每hold一个任务,其成员变量length会自动增加1,当被释放的时候,会自动减1

当执行该方法的时候会触发hold事件.

语法



Object hold(Function task);
Object hold(Array tasks);
        

参数


名称 类型 描述
task Function

需要hold的函数,该函数包含以下实参:

类型 描述
Object this对象,当前holder实例对象
Function 被hold住的函数本身
tasks Array 包含多个函数的数组,相当于同时添加了多个hold任务

返回值


this对象

相关例子



var holder = new Std.holder([
    function(){
        setTimeout(function(){
            that.release(handle);
        },1000);
    },
    function(){
        Std.ajax("/robots.txt",function(){
            that.release(handle);
        });
    }
]);

//如果2个任务都被释放了,那么complete中的函数将会被执行,相当于使用了once方法进行了complete事件的绑定.
holder.complete(function(){
    console.log("done");
});