首页 教程 API文档

队列任务全部完成

2015-09-24 11:26:00

属性


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

描述


complete方法用于触发complete事件,或者绑定complete事件,这取决于参数类型与数量.

当执行complete方法的时候,如果没有传递参数,则触发complete事件,如果传递的参数为一个数组的时候,则触发complete事件并且将这个数组作为事件的参数.

当执行complete方法的时候传递的是一个函数,那么该函数就会作为complete事件函数被绑定.

语法



Object complete();
Object complete(Array arguments);
Object complete(Function callback);
        

参数


类型 描述
Array 触发complete事件时候的参数数组,数组中的元素会作为complete事件的参数
Function 需要绑定的complete事件的事件函数

返回值


this对象

相关例子



var queue = new Std.queue();
queue.push(function(urlAddress){
    Std.ajax.get(urlAddress,function(){
        //当请求成功之后,执行下一个任务
        queue.next("/index.php");
    })
}).push(function(urlAddress){
    Std.ajax.get(urlAddress,function(responseText){
        //当请求成功之后,执行下一个任务
        queue.next(responseText);
    }).error(function(){
        //如果ajax请求错误,重试,最大重试4次,如果4次都失败了,继续执行下一个
        queue.retry(4,[urlAddress],function(){
            queue.next("failed");
        });
    });
}).push(function(responseText){
    setTimeout(function(){
        console.log(responseText)
        queue.next();
    },500);
});

//添加complete事件,待队列全部完成之后触发
queue.complete(function(){
    console.log("complete");
});

//开始队列任务,从0开始,传递一个参数
queue.start("/robots.txt");