位置: 编程技术 - 正文

以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题(jquery的deferred)

编辑:rootadmin

推荐整理分享以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题(jquery的deferred),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery defered,jquery defered,jquery中有几种方法可以来设置和获取样式,jquery deffered,jquery的deferred,jquery的deferred,在jquery中fadein,jquery的deferred,内容如对您有帮助,希望把文章链接给更多的朋友!

Promises是一种令代码异步行为更加优雅的抽象,它很有可能是JavaScript的下一个编程范式,一个Promise即表示任务结果,无论该任务是否完成。

在一些现代浏览器中已经提供了原生的Promise对象,其遵循Promise/A+标准。在jQuery1.5+,提供了$.Deferred(其可以被转化为promise对象)。很多知名的框架中,也提供了promise对象。promise对象在javascript中已经是一种很重要的模式,它在解决异步问题时表现出的优雅,正是javascript所需要的。以下以jQuery中的$.Deferred对象为例,来看一下promise对象是如何处理异步问题。关于$.Deferred对象,可以到jQuery官网查看,这里就不赘述了。

一、封装异步操作

  首先,我们以加载图片为例,看以下代码:

以上的代码,我封装了图片加载的操作,将他们委托给$.Deferred,最后生成一个promise返回。使用这样的方式,相比用对外暴露回调的方式,显得更干净、更清晰。这么做的另一个更重要的原因是,promise的连接。

二、promise的连接

  我们还是以上面图片加载的代码为例,来看一下如何做promise的连接,看以下代码:

以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题(jquery的deferred)

promise对象提供了then的方法,它接受两个回调:onResolve和onReject,在回调中返回promise,就可以完成promise之间的连接。通过这种方式,可以使异步操作串行的执行。

  同时,jQuery还提供了另外一种连接方式,看代码:

  jQuery中提供了$.when这个函数,它可以接受n个promise对象为参数,它是将promise的执行结果连接在一起。使用这种方式,多个异步操作可以并行执行。

三、The End

  这里的代码是以加载图片为例,同样的做法可以应用到其他的异步操作中去。比如jQuery中的$.ajax、$.fn.animate,调用它们返回的就是promise。在node端,也可以把一些异步操作(读数据库、读文件等)封装成promise。继而对多个promise实现合并的操作,使其串行或者并行执行。

附:deferred对象

  deferred除了用于转化promise对象外,本身也是个很有用的对象。它除了提供像promise对象的那些方法和属性外,还有notify函数和progress函数,这两个函数在实现进度条和瀑布流的时候,有很大的用处。

在实现进度条时,resolve和done函数可以用于定义进度条读取到%时的触发时机和触发逻辑,notify和progress函数可以用于定义进度条在读取中的触发时机和触发逻辑。reject和fail函数可以用于定义进度读取失败时的触发时机和触发逻辑。

在实现瀑布流时,resolve和done函数可以用于定义当数据已经全部加载到页面的触发时机和触发逻辑,notify和progress函数可以用于定义瀑布流读取下一页的触发时机和触发逻辑。

jquery动画效果学习笔记(8种效果) 1、元素的显示和隐藏display:none;隐藏display:block;显示简单显示和隐藏方法a)show()显示b)hide()隐藏c)toggle()开关,显示则隐藏,隐藏则显示scripttype="text/javascrip

jquery实现九宫格大转盘抽奖 下面我们来分享一个九宫格抽奖特效特效说明:一款jQuery九宫格大转盘抽奖代码网页特效,点击抽奖按钮开始随机抽奖选择奖品,可设置起点位置、奖

WEB前端开发都应知道的jquery小技巧及jquery三个简写 一个简单技巧的集合,帮你提升jQuery技能。目前小编给大家整理了个jquery小技巧。目录结构1回到顶部按钮2预加载图片3检查图片是否加载完毕4自动修

标签: jquery的deferred

本文链接地址:https://www.jiuchutong.com/biancheng/370504.html 转载请保留说明!

上一篇:Jquery promise实现一张一张加载图片(jquery prototype)

下一篇:jquery动画效果学习笔记(8种效果)(jquery动画库)

  • 土地取得方式有哪些
  • 递延所得税费用在资产负债表哪一项
  • 电子税务局没有发票开具
  • 筹资现金流量净额为负说明了什么问题
  • 物业公司一般纳税人增值税税率
  • 2019年新注册公司
  • 什么情况下做暂估
  • 固定资产减值必有损益吗
  • 农产品增值税抵扣新政策2021
  • 土地增值税属于所得税类
  • 收付转记凭证如何填写例题
  • 机器设备如何计提折旧
  • 国税注销地税没注销怎么办
  • 发票认证费用
  • 客户已经抵扣的发票怎么开负数发票给对方
  • 运输发票抵税多少个点
  • 4.86的税率怎么算
  • 滞纳金属于罚没支出还是其他
  • 申请增值税一般纳税人登记在办理手续
  • 办公室零食知乎
  • 企业所得税季度申报时间
  • 安装费要交税吗
  • 空调安装工程如何做
  • 专业做电热水器哪些品牌
  • 购买土地交易费用怎么算
  • iphone6按键功能介绍
  • 企业办税人员是干嘛的
  • 预提费用利息会增加吗
  • 赡养老人个税扣除标准和条件是什么
  • 演出收入怎样做会计分录
  • 年末存货怎么计算
  • 销售商品分期收款,减免一部分货款怎么做账
  • 广告制作费属于劳务还是服务
  • 关闭密码保护共享后又自动开启
  • win7宽带连接错误651
  • Windows11预览体验计划空白
  • 不动产在建工程领用原材料的分录
  • 结转本年利润的分录怎么写
  • 增值税征税范围中的货物包括
  • 电脑卡机动不了怎么重启
  • mysql如果不存在就创建表
  • 艾草的功效与作用洗头
  • 增值税纳税人的区别
  • 企业会计准则条文释义与案例详解
  • 以物易物双方做什么处理
  • 建筑修缮服务税率
  • 网络安全网页设计作品构思
  • 【机器学习】前置知识:矩阵的表示与定义 | Identity 身份矩阵 | 逆矩阵和转置 | 标量乘法
  • javascript基础编程
  • 中国传统节日大概有多少
  • 百旺金赋开票系统客服电话
  • 固定资产清理属于非流动资产吗
  • 当月销售次月开票就按次月申报
  • 刚开始考会计证有用吗
  • 已缴款未入库是缴费成功了吗
  • 软件研发主要研发啥软件
  • 上年结转库存现金会计分录
  • 企业自查补税怎么报税
  • 增值税药品发票明细
  • 企业租赁收入如何纳税
  • 缴纳工会筹备金会计分录怎么写
  • 企业每个季度叫什么
  • 应税销售额什么意思
  • 个体生产经营所得税
  • 结转未交增值税为什么是零
  • 公司注销资本公积
  • 支付的劳务派遣服务费计入什么科目
  • 小规模收入不超过多少不用交税
  • win8如何激活
  • javascript字符串大小写转换
  • jQuery插件能输出到控制台
  • apk签名生成器
  • bootstrap弹出表单
  • 监控网站是否可以删除
  • jquery设置图片路径
  • jquery动态添加的元素怎么添加事件
  • jquery跨域请求有哪些方式
  • python多线程怎么用
  • 税务局自助终端
  • 沈阳铁西区房产中介电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设