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 25 Javascript
js两行代码按指定格式输出日期时间
Oct 21 Javascript
捕获键盘事件(且兼容各浏览器)
Jul 03 Javascript
详解maxlength属性在textarea里奇怪的表现
Dec 27 Javascript
常用原生JS兼容性写法汇总
Apr 27 Javascript
打造自己的jQuery插件入门教程
Sep 23 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
基于js中document.cookie全面解析
Sep 14 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
Feb 03 Javascript
解决百度Echarts图表坐标轴越界的方法
Oct 17 Javascript
150行Node.js实现的dns代理工具
Aug 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会话(Session)实现用户登陆功能
2013/06/29 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php新浪微博登录接口用法实例
2014/12/23 PHP
Symfony核心类概述
2016/03/17 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
php中的异常和错误浅析
2017/05/03 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
基于JavaScript中标识符的命名规则介绍
2018/01/06 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
企业内控岗位的职责
2014/02/07 职场文书
师德建设实施方案
2014/03/21 职场文书
物业保安岗位职责
2014/07/02 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
学生会个人总结范文
2015/02/15 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server