使用频率 | 中 |
所属模块 | 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事件的事件函数 |
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");