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的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

vs code 自定义代码片段

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段6——CSS选择器