对于deferred的一点点理解

deferred对象,是一个异步队列。能够实现异步代码调用,从而解决代码执行顺序的问题。

它提供了一下主要方法:

jQuery.Deferred()

一个构造函数,返回一个链式实用对象方法来注册多个回调,回调队列, 调用回调队列,并转达任何同步或异步函数的成功或失败状态。

deferred.always()

当Deferred(延迟)对象解决或拒绝时,调用添加处理程序

deferred.done()

当Deferred(延迟)对象解决时,调用添加处理程序

deferred.fail()

当Deferred(延迟)对象拒绝时,调用添加处理程序。

deferred.isRejected()

确定一个Deferred(延迟)对象是否已被拒绝。

deferred.isResolved()

确定一个Deferred(延迟)对象是否已被解决。

deferred.notify()

根据给定的 args参数 调用Deferred(延迟)对象上进行中的回调 (progressCallbacks)

deferred.notifyWith()

根据给定的上下文(context)和args递延调用Deferred(延迟)对象上进行中的回调(progressCallbacks )

deferred.pipe()

实用的方法来过滤 and/or 链Deferreds。

deferred.progress()

当Deferred(延迟)对象生成进度通知时,调用添加处理程

deferred.promise()

返回Deferred(延迟)的Promise(承诺)对象。

deferred.reject()

拒绝Deferred(延迟)对象,并根据给定的args参数调用任何失败回调函数(failCallbacks)

deferred.rejectWith()

拒绝Deferred(延迟)对象,并根据给定的 context和args参数调用任何失败回调函数(failCallbacks)。

deferred.resolve()

解决Deferred(延迟)对象,并根据给定的args参数调用任何完成回调函数(doneCallbacks)

deferred.resolveWith()

解决Deferred(延迟)对象,并根据给定的 context和args参数调用任何完成回调函数(doneCallbacks)

deferred.state()

确定一个Deferred(延迟)对象的当前状态

deferred.then()

当Deferred(延迟)对象解决,拒绝或仍在进行中时,调用添加处理程序。

jQuery.when()

提供一种方法来执行一个或多个对象的回调函数, Deferred(延迟)对象通常表示异步事件。

.promise()

返回一个 Promise 对象用来观察当某种类型的所有行动绑定到集合,排队与否还是已经完成

时间: 2024-09-27 22:48:08

对于deferred的一点点理解的相关文章

对Thrift的一点点理解

对Thrift的一点点理解 这是一篇学习Thrift的笔记,包含了这样几点内容: 简单介绍Thrift 怎样使用Thrift Thrift整体架构 Thrift中的知识点 struct可以设置默认值 thrift中的序列化机制 thrift中的版本控制 简单介绍Thrift 它是一款RPC通信框架,采用C/S架构,且拥有高效的序列化机制.要使用Thrift,首先我们需要在远端服务器上开启Thrift服务,之后,服务器端进程保持睡眠状态,直到客户端代码的调用. Thrift应用广泛的一个主要原因是

后缀自动机的一点点理解

后缀自动机的一点点理解 前言 最近心血来潮,想学学SAM,于是花了一晚上+一上午 勉强打了出来(但是还是不理解) 虽说张口就讲我做不到 但是一些其他的东西还是有所感触的 索性,乱口胡点东西,谢谢关于SAM的一些简单的理解 资料 丽洁姐WC PPT hihocoder上的后缀自动机 一些概念 这些概念都不读懂,接下来真的是步履维艰 本来我们要的是一个能够处理所有后缀的数据结构 但是我们发现,如果对于每一个后缀都要插入进Trie树 空间复杂度完全背不动(\(O(n^2)\)级别) 于是,后缀自动机出

Hadoop学习14--Hadoop之一点点理解yarn

yarn是一个分布式的资源管理系统. 它诞生的原因是原来的MapReduce框架的一些不足: 1.JobTracker单点故障隐患 2.JobTracker承担的任务太多,维护Job状态,Job的task的状态等 3.在taskTracker端,使用map/reduce task表示资源过于简单,没有考虑cpu.内存等使用情况.当把多个需要消耗大量内存的task调度到一起时,很容易出现问题 演化后的基本组件 下面具体解释: yarn是一个资源管理的框架,而非计算的框架,理解这点很重要. 图中的A

狭义相对论的一点点理解

一图胜千言 相对我们运动的物体时间变慢,运动方向上长度变短. 已知宇宙的一切物体在时空(四维:空间+时间)中的运动速度都等于光速(一个常量).“时间”和“空间”一样,物体都可以在里面运动,我们平时所说的“速度”只不过是光速在空间维度的一个分解.相对我们运动物体时间变慢的原因是它在时间的部分运动转移为空间运动了.换句话说: 在光速下,没有时间流逝.

封装 继承 多态 抽象的一点点理解

1.抽象 抽象是人们认识事物的常用方法,比如地图的绘制.抽象的过程就是如何简化.概括所观察到的现实世界,并为人们所用的过程. 抽象包括两个方面:过程抽象和数据抽象.过程抽象把一个系统按功能划分成若干个子系统,进行"自顶向下逐步求精"的程序设计.数据抽象以数据为中心,把数据类型和施加在该类型对象上的操作作为一个整体(对象)来进行描述,形成抽象数据类型ADT. 2.封装 封装是面向对象编程的特征之一,也是类和对象的主要特征.封装将数据以及加在这些数据上的操作组织在一起,成为有独立意义的构件

reflect(反射)的一点点理解

A a = new A() 这个代码在程序编译阶段,会自动定位到A类上,并且新建一个A的实例. 但是如果我们希望程序在运行时,动态的创建一个A的实例,此时程序只知道要从名字叫A的类中创建一个实例,但是不知道名字叫A的类究竟是哪一个?这时候该怎么办? 此时,程序就会从类表中遍历所有的类,寻找到类的名字为A的类,然后创建这个类的实例,这个过程叫做反射. 由此可见,反射发生在程序运行阶段,是动态的.比较耗时的

前后端分离与不分离,一点点理解

1>为什么要前后端分离? 现有开发模式的使用场景 前后端职责不清 开发效率的问题 对前端发挥的局限 2>前后端分离会带来什么变化? 1.彻底解放前端 制作页面的时候,不需要后台配置服务器环境,可以自己配置路由,前端代码里面不会掺杂后端的代码以及逻辑 2.提高工作的效率 3.局部性能提升 4.降低了维护成本 3>前后端分离的核心:前端负责调用ajax实现数据显示(view层和controller层),后台提供数据(API)接口(model层). 在前后端没有分离前,后端需要渲染页面或者重定

"arch/arm/kernel/head.S"里面一点片段的理解

[linux-4.8.11] __turn_mmu_on_loc:359 .long .360 .long __turn_mmu_on361 .long __turn_mmu_on_end * Create identity mapping to cater for __enable_mmu.228 * This identity mapping will be removed by paging_init().229 */230 adr r0, __turn_mmu_on_loc :获得__t

机房收费合作版总结

机房合作版到了尾声,看着我们每天的记录,有太多的成长.不知道是不是大家的通病,在一件事情开始之前,总把它设想成多么艰难,自己绊着自己的脚,渐渐相信了原来恐惧本身才是最恐惧的事情,之前看他们合作使用的工具,高大上,给人一种不容易接近的感觉,一旦自己经历才有资格说和别人感同身受.这次合作感触很多,不管对我的学习和交流都是一种提高. 这是我们合作的第一个项目,作为组长不知道是我的幸运还是不幸,开始真的压力山大,虽然个人重构也是结束没多久,现在可是三人合作共同去完成,还是无从下手,不知道第一步要干什么,