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 相关文章推荐
jquery 可拖拽的窗体控件实现代码
Mar 21 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
jQuery判断指定id的对象是否存在的方法
May 22 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
Aug 13 Javascript
jquery判断复选框是否被选中的方法
Oct 16 Javascript
Bootstrap 粘页脚效果
Mar 28 Javascript
JS锚点的设置与使用方法
Sep 05 Javascript
Bootstrap模态框禁用空白处点击关闭
Oct 20 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
PHP 实现一种多文件上传的方法
Sep 20 Javascript
angularjs中$http异步上传Excel文件方法
Feb 23 Javascript
小程序分享链接onShareAppMessage的具体用法
May 22 Javascript
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
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
JS选项卡动态替换banner图片路径的方法
2015/05/11 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
微信小程序实现animation动画
2018/01/26 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
Python实现发送email的几种常用方法
2014/08/18 Python
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
介绍Python中内置的itertools模块
2015/04/29 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
Python中的asyncio代码详解
2019/06/10 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
python 基于opencv去除图片阴影
2021/01/26 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
大学毕业感言
2014/01/10 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
物控部经理职务说明书
2014/02/25 职场文书
简爱电影观后感
2015/06/10 职场文书
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang