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自动显示最后更新时间
Mar 15 Javascript
js实现的点击数量加一可操作数据库
May 09 Javascript
七个很有意思的PHP函数
May 12 Javascript
javascript 10进制和62进制的相互转换
Jul 31 Javascript
使用jquery解析XML示例代码
Sep 05 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
Sep 26 Javascript
jQuery.Validate表单验证插件的使用示例详解
Jan 04 Javascript
Vue.js划分组件的方法
Oct 29 Javascript
react同构实践之实现自己的同构模板
Mar 13 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
May 22 Javascript
vue 开发之路由配置方法详解
Dec 02 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
Oct 30 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程序之die调试法 快速解决错误
2009/09/17 PHP
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
javascript实现文字无缝滚动效果
2017/08/26 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
使用Python编写Linux系统守护进程实例
2015/02/03 Python
Django中使用Celery的教程详解
2018/08/24 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
绩效专员岗位职责
2013/12/02 职场文书
小学清明节活动总结
2014/07/04 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
黄埔军校观后感
2015/06/10 职场文书
python中的被动信息搜集
2021/04/29 Python
Django实现翻页的示例代码
2021/05/24 Python
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL