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 相关文章推荐
List Installed Software Features
Jun 11 Javascript
javascript小数四舍五入多种方法实现
Dec 23 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
JS实现点击链接取消跳转效果的方法
Jan 24 Javascript
JavaScript获取Url里的参数
Dec 18 Javascript
JS中多种方式创建对象详解
Mar 22 Javascript
js中class的点击事件没有效果的解决方法
Oct 13 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
Mar 23 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
Jan 24 Javascript
JS实现前端路由功能示例【原生路由】
May 29 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
Jun 05 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
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP实现搜索相似图片
2015/09/22 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
微信小程序实现上传word、txt、Excel、PPT等文件功能
2019/05/23 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
python实现的登录和操作开心网脚本分享
2014/07/09 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
详解Python pygame安装过程笔记
2017/06/05 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
python实现猜拳游戏
2020/03/04 Python
500行python代码实现飞机大战
2020/04/24 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
python绘图模块之利用turtle画图
2021/02/12 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
Android笔试题总结
2014/11/29 面试题
成人大专生实习期的自我评价
2013/10/02 职场文书
高三英语教学反思
2014/01/13 职场文书
服务员自我评价
2014/01/25 职场文书
婚姻出轨保证书
2015/05/08 职场文书
诚信教育主题班会
2015/08/13 职场文书
SQL注入详解及防范方法
2021/12/06 MySQL