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 19 Javascript
RGB颜色值转HTML十六进制(HEX)代码的JS函数
Apr 25 Javascript
js中判断变量类型函数typeof的用法总结
Aug 09 Javascript
不间断循环滚动效果的实例代码(必看篇)
Oct 08 Javascript
js实现将json数组显示前台table中
Jan 10 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
Jan 18 Javascript
Angular.JS去掉访问路径URL中的#号详解
Mar 30 Javascript
VUE多层路由嵌套实现代码
May 15 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
Dec 09 Javascript
JS实现面向对象继承的5种方式分析
Jul 21 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
Apr 17 Javascript
vue缓存之keep-alive的理解和应用详解
Nov 02 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实现文件上传二法
2006/10/09 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
js实现模糊匹配功能
2017/02/15 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
微信小程序如何使用云开发
2019/05/17 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
保送生自荐信范文
2015/03/26 职场文书
小学语文国培研修日志
2015/11/13 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python