JavaScript自定义超时API代码实例
API是提供给不同语百言的一个接口,也就是对应的函数里面提供了相应的方法。我们只要用js的语法去调用想要的功能就可以。例如度js里面的BOM有screen的方法,他就是浏览器提供给我们的接口,能够对浏览器进行操作。
实现一个Ajax请求时回调超时一个函数
functiontimeoutify(fn,delay){
varintv=setTimeout(function(){//设置超时定时器
intv=null;
fn(newError("Timeout!"));
},delay);
returnfunction(){
//还没有超时?
if(intv){
clearTimeout(intv);//取消intv定时器
fn.apply(this,arguments);//通过apply将返回回来的数据绑定到自定义的fn函数上,
/*fn(null,arguments[1]);//如果对apply使用原理不了解可以使用该方法*/
}//argument是获取调用回调函数的实参
};
}
//以下是使用方式:
//使用"error-first风格"回调设计
functionfoo(err,data){
if(err){
console.error(err);
}
else{
console.log(data);
}
}
ajax("http://some.url.1",timeoutify(foo,500));
自定义一个ajax回调函数:
functionajax(url,fun){
setTimeout(function(){
fun(null,11)
},1000);//1秒后执行回调函数
};
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。