JavaScript自定义超时API
Posted 林中有风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript自定义超时API相关的知识,希望对你有一定的参考价值。
实现一个Ajax请求时回调超时一个函数
1 function timeoutify(fn,delay) { 2 var intv = setTimeout( function(){ // 设置超时定时器 3 intv = null; 4 fn( new Error( "Timeout!" ) ); 5 }, delay ); 6 return function() { 7 // 还没有超时? 8 if (intv) { 9 clearTimeout( intv ); // 取消 intv 定时器 10 fn.apply( this, arguments ); // 通过apply将返回回来的数据绑定到自定义的fn函数上, 11 } // argument 是获取调用回调函数的实参 12 }; 13 } 14 以下是使用方式: 15 // 使用"error-first 风格" 回调设计 16 function foo(err,data) { 17 if (err) { 18 console.error( err ); 19 } 20 else { 21 console.log( data ); 22 } 23 } 24 ajax( "http://some.url.1", timeoutify( foo, 500 ) );
以上是关于JavaScript自定义超时API的主要内容,如果未能解决你的问题,请参考以下文章