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代码简单实现求杨辉三角给定行的最大值
Oct 29 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
Dec 04 Javascript
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
基于bootstrap3和jquery的分页插件
Jul 31 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
微信小程序 教程之列表渲染
Oct 18 Javascript
让div运动起来 js实现缓动效果
Jul 06 Javascript
vue-cli之router基本使用方法详解
Oct 17 Javascript
JS加密插件CryptoJS实现的Base64加密示例
Aug 16 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
Dec 06 jQuery
Vue仿微信app页面跳转动画效果
Aug 21 Javascript
JavaScript日期库date-fn.js使用方法解析
Sep 09 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
德生1994机评
2021/03/02 无线电
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
Javascript之文件操作
2007/03/07 Javascript
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
tab栏切换原理
2017/03/22 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
Python 常用string函数详解
2016/05/30 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
团购业务员岗位职责
2014/03/15 职场文书
网络编辑岗位职责
2014/03/18 职场文书
青岛导游词
2015/02/12 职场文书
客户付款通知书
2015/04/23 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
mysql事务隔离级别详情
2021/10/24 MySQL
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis