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面象对象设计
Apr 28 Javascript
js中的window.open返回object的错误的解决方法
Aug 15 Javascript
jquery数组之存放checkbox全选值示例代码
Dec 20 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
Oct 11 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
Jan 21 Javascript
微信小程序 window_x64环境搭建
Sep 30 Javascript
Bootstrap Table使用心得总结
Nov 29 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
May 13 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
Oct 25 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
Sep 21 Javascript
vue cli3 配置proxy代理无效的解决
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
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
python三元运算符实现方法
2013/12/17 Python
Python基于twisted实现简单的web服务器
2014/09/29 Python
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
Python之文字转图片方法
2018/05/10 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
python实现顺时针打印矩阵
2019/03/02 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
普罗米修斯教学反思
2014/02/06 职场文书
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL
Python echarts实现数据可视化实例详解
2022/03/03 Python