码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript自定义超时API

时间:2020-02-18 14:46:31      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:api   first   rip   func   设计   code   一个   设置   调用   

实现一个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

标签:api   first   rip   func   设计   code   一个   设置   调用   

原文地址:https://www.cnblogs.com/PasserByOne/p/12325917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!