JavaScript自定义超时API代码实例


Posted in Javascript onApril 30, 2020

API是提供给不同语百言的一个接口,也就是对应的函数里面提供了相应的方法。我们只要用js的语法去调用想要的功能就可以。例如度js里面的BOM有screen的方法,他就是浏览器提供给我们的接口,能够对浏览器进行操作。

实现一个Ajax请求时回调超时一个函数

function timeoutify(fn,delay) {
 var intv = setTimeout( function(){// 设置超时定时器
    intv = null;
    fn( new Error( "Timeout!" ) );
 }, delay );
 return function() { 
   // 还没有超时?
   if (intv) {
     clearTimeout( intv );
// 取消 intv 定时器
     fn.apply( this, arguments );
// 通过apply将返回回来的数据绑定到自定义的fn函数上,
     /*fn( null, arguments[1] );  // 如果对apply使用原理不了解可以使用该方法*/
   } 








  // argument 是获取调用回调函数的实参





 
  };
}
// 以下是使用方式:
// 使用"error-first 风格" 回调设计 
function foo(err,data) {
 if (err) {
  console.error( err );
 }
 else {
  console.log( data );
 }
}
ajax( "http://some.url.1", timeoutify( foo, 500 ) );

自定义一个ajax回调函数:

function ajax(url, fun) {
  setTimeout(function() {
   fun(null, 11)
  }, 1000);// 1秒后执行回调函数
 };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
两个比较有用的Javascript工具函数代码
Feb 17 Javascript
jQuery实现用方向键控制层的上下左右移动
Jan 13 Javascript
用javascript替换URL中的参数值示例代码
Jan 27 Javascript
JavaScript中标识符提升问题
Jun 11 Javascript
jQuery实现动态删除LI的方法
May 30 jQuery
基于node下的http小爬虫的示例代码
Jan 11 Javascript
layui获取选中行数据的实例讲解
Aug 19 Javascript
layDate日期控件使用方法详解
Nov 15 Javascript
websocket4.0+typescript 实现热更新的方法
Aug 14 Javascript
解决vue-cli 打包后自定义动画未执行的问题
Nov 12 Javascript
Vue环境搭建+VSCode+Win10的详细教程
Aug 19 Javascript
vue 实现上传组件
May 31 Vue.js
javascript 模块依赖管理的本质深入详解
Apr 30 #Javascript
JavaScript find()方法及返回数据实例
Apr 30 #Javascript
js this 绑定机制深入详解
Apr 30 #Javascript
JS 图片压缩原理与实现方法详解
Apr 29 #Javascript
详解Vue3 Composition API中的提取和重用逻辑
Apr 29 #Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
Apr 29 #Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 #Javascript
You might like
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
PHP防盗链代码实例
2014/08/27 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
js编写选项卡效果
2017/05/23 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
简单介绍Python中的JSON使用
2015/04/28 Python
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
python编写简单爬虫资料汇总
2016/03/22 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
pytorch 预训练层的使用方法
2019/08/20 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
Python多分支if语句的使用
2020/09/03 Python
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
测绘工程个人的自我评价
2013/11/23 职场文书
体育专业学生自我评价范文
2014/01/17 职场文书
翻译学院毕业生自荐书
2014/02/02 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
招商银行工作证明
2015/06/17 职场文书
小学感恩主题班会
2015/08/12 职场文书
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js