首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏九彩拼盘的叨叨叨

    jQuery Deferred 使用介绍

    jQuery 的 Deferred 是用来组织异步代码的。 基本写法 创建 Deferred 对象 var dfd = $.Deferred(); 创建 Promise 对象 var promise = dfd.promise(); 异步代码执行后,若成功, 示例代码如下 function doThingA() { var dfd = $.Deferred(); // 创建 Deferred 对象 /* * 一些异步代码 如果用 Deferred 这么写 function doThing1() { var dfd = $.Deferred(); /* * 一些异步代码 * 异步回来后 如果用 Deferred 这么写 function doThing1() { var dfd = $.Deferred(); /* * 一些异步代码 * 异步回来后

    85010发布于 2018-08-24
  • 来自专栏Super 前端

    jQuery的deferred对象

    一、什么是deferred对象? 简单说,deferred对象就是jQuery的回调函数解决方案。deferred对象的含义就是”延迟”到未来某个点再执行。 ; }); wait(dtd); 六、deferred.resolve()方法和deferred.reject()方法 deferred对象有三种执行状态:已完成,已失败和未完成。 PS:ajax操作,deferred对象会根据返回结果,自动改变自身的执行状态 七、deferred.promise()方法 在原来的deferred对象上返回另一个deferred对象,后者只开放与改变执行状态无关的方法 ; }); 总结 $.Deferred() 生成一个deferred对象。 deferred.done() 指定操作成功时的回调函数 deferred.fail() 指定操作失败时的回调函数 deferred.promise() 没有参数时,返回一个新的deferred对象,该对象的运行状态无法被改变

    1.1K41发布于 2019-08-15
  • 来自专栏Web 开发

    jQuery进阶,$.Deferred() 延迟对象

    那么,今天就介绍一种抹平回调的方法,jQuery.Deferred。 $.Deferred() 是什么? $.Deferred() 从字面上理解,就是一个延迟对象。 $.Deferred() 小结 拥抱Deferred,抛弃那些不可控的setTimeout()吧。 最后引用阮一峰的《jQuery的deferred对象详解》里面的小结吧: $.Deferred() 生成一个deferred对象。 deferred.done() 指定操作成功时的回调函数 deferred.fail() 指定操作失败时的回调函数 deferred.promise() 没有参数时,返回一个新的deferred对象,该对象的运行状态无法被改变 deferred.reject() 这个方法与deferred.resolve()正好相反,调用后将deferred对象的运行状态变为”已失败”,从而立即触发fail()方法。

    1K00发布于 2018-08-08
  • 来自专栏Super 前端

    jQuery的deferred对象详解

    在讲述Promise时,曾提及过Deferred对象。下面内容,详细阐述Deferred对象及其用法。 图:deferred.promise().png 方式一:deferred.promise var wait = function(){ var dtd = $.Deferred(); ; }); 方式二:在wait对象上部署deferred接口 var dtd = $.Deferred(); // 生成Deferred对象 var wait = function(dtd){ ; }); wait(dtd); // 调用wait函数 八、deferred对象的方法 $.Deferred() 生成一个deferred对象。 9. deferred.always()这个方法也是用来指定回调函数的,它的作用是,不管调用的是deferred.resolve()还是deferred.reject(),最后总是执行。

    1.3K31发布于 2019-08-15
  • 来自专栏杰的记事本

    jQuery的deferred对象详解

    为了改变这一点,jQuery开发团队就设计了deferred对象。 简单说,deferred对象就是jQuery的回调函数解决方案。 原因在于$.when()的参数只能是deferred对象,所以必须对wait()进行改写:   var dtd = $.Deferred(); // 新建一个deferred对象   var wait 十、小结:deferred对象的方法 前面已经讲到了deferred对象的多种方法,下面做一个总结:   (1) $.Deferred() 生成一个deferred对象。    (6)deferred.reject() 这个方法与deferred.resolve()正好相反,调用后将deferred对象的运行状态变为”已失败”,从而立即触发fail()方法。    (9)deferred.always() 这个方法也是用来指定回调函数的,它的作用是,不管调用的是deferred.resolve()还是deferred.reject(),最后总是执行。   

    86820发布于 2019-09-04
  • 来自专栏陶士涵的菜地

    Go语言圣经-Deferred函数

    1.只需要在调用普通函数或方法前加上关键字defer,就完成了defer所需要的语法。当defer语句被执行时,跟在defer后面的函数会被延迟执行。直到包含该defer语句的函数执行完毕时,defer后的函数才会被执行,不论包含defer语句的函数是通过return正常结束,还是由于panic导致的异常结束

    84120发布于 2019-09-10
  • 来自专栏对角另一面

    读Zepto源码之Deferred模块

    Deferred 模块也不是必备的模块,但是 ajax 模块中,要用到 promise 风格,必需引入 Deferred 模块。 (deferred, deferred) return deferred } return $.Deferred = Deferred })(Zepto) 从上面的精简的结构可以看出,Deferred deferred[tuple[0]] = function(){ deferred[tuple[0] + "With"](this === deferred ? Deferred 的参数是一个函数,上文在分析总体结构的时候,有一句关键的代码 if (func) func.call(deferred, deferred) 。 deferred: deferred 对象,如果只有一个异步对象(只有一个参数,并且不为异步对象时, remain 为 0 ),则直接使用当前的 deferred 对象,否则创建一个新的 deferred

    1K00发布于 2017-12-27
  • 来自专栏雪月清的随笔

    Android Camera2 Deferred Surface

    UI layout准备surface和相机创建会话只能串行执行 open camera -> create session -> repeating request 官方文档中也提到了这种case Deferred Surface 如何优化启动耗时,让相机创建会话和UI layout并行执行,官方也提供了解决方案, 通过使用OutputConfiguration来提供Deferred Surface创建相机会话即可 【Android Camera2 API Deferred Surface实战】 https://deepinout.com/android-camera-official-documentation/ android-camera2-api/android-camera2-api-deferred-surface-practice.html ~~END~~

    1.1K20编辑于 2022-04-18
  • 来自专栏授客的专栏

    JQuery Deferred对象使用小结

    function getProjects(projectType) { var defer = $.Deferred(); //返回Deferred对象; // 请求已有已启用项目 resolve(arg) 这个方法用来改变deferred对象的状态为resolved, 并告诉deferred对象执行done回调,arg是传递给回调函数的参数。 reject(arg) 这个方法用来改变deferred对象的状态为rejected,并告诉deferred对象执行done回调,arg是传递给回调函数的参数。

    98530发布于 2019-08-21
  • 来自专栏阮一峰的网络日志

    jQuery的deferred对象详解

    为了改变这一点,jQuery开发团队就设计了deferred对象。 简单说,deferred对象就是jQuery的回调函数解决方案。 原因在于$.when()的参数只能是deferred对象,所以必须对wait()进行改写:   var dtd = $.Deferred(); // 新建一个deferred对象   var wait 十、小结:deferred对象的方法 前面已经讲到了deferred对象的多种方法,下面做一个总结:   (1) $.Deferred() 生成一个deferred对象。    (6)deferred.reject() 这个方法与deferred.resolve()正好相反,调用后将deferred对象的运行状态变为"已失败",从而立即触发fail()方法。    (9)deferred.always() 这个方法也是用来指定回调函数的,它的作用是,不管调用的是deferred.resolve()还是deferred.reject(),最后总是执行。   

    1.6K60发布于 2018-04-12
  • 来自专栏IMWeb前端团队

    Promise接口实现之jQuery 的deferred对象

    Jquery中的promise的实现——deferred对象 deferred对象是jQuery的回调函数解决方案,它解决了如何处理耗时操作的问题,对那些操作提供了更好的控制,以及统一的编程接口。 deferred对象的方法 $.deferred()方法 $.deferred()方法,作用是生成一个deferred对象,它允许你自由添加多个回调函数。 state方法 state方法用来返回deferred对象目前的状态,deferred对象有三种状态:操作还没有完成、操作成功、操作失败,对应state方法的返回值为:pending、resolved、 rejected var deferred = $.Deferred(); alert(deferred.state()); // "pending" deferred.resolve always() 这个方法也是用来指定回调函数的,它的作用是,不管调用的是deferred.resolve()还是deferred.reject(),最后总是执行。

    80610发布于 2019-12-04
  • 来自专栏小徐学爬虫

    如何使用Twisted Deferred周期性地调用

    在 Twisted 中,Deferred 是一个用于处理异步操作结果的对象。 self.deferred is not None: d, self.deferred = self.deferred, None d.errback(reason 这是因为Deferred只会被触发一次。2、解决方案为了解决这个问题,需要创建一个持续运行的Deferred,以便每次收到值时都会被触发。这可以通过使用Twisted的Reactor API来实现。 , value): if self.deferred is not None: d, self.deferred = self.deferred, None d.callback(value)​ def generateDeferred(self): self.deferred = defer.Deferred() self.deferred.addCallbacks

    20900编辑于 2025-02-05
  • 来自专栏IMWeb前端团队

    Promise接口实现之jQuery 的deferred对象

    Jquery中的promise的实现——deferred对象 deferred对象是jQuery的回调函数解决方案,它解决了如何处理耗时操作的问题,对那些操作提供了更好的控制,以及统一的编程接口。 deferred对象的方法 $.deferred()方法 $.deferred()方法,作用是生成一个deferred对象,它允许你自由添加多个回调函数。 state方法 state方法用来返回deferred对象目前的状态,deferred对象有三种状态:操作还没有完成、操作成功、操作失败,对应state方法的返回值为:pending、resolved、 rejected var deferred = $.Deferred(); alert(deferred.state()); // "pending" deferred.resolve always() 这个方法也是用来指定回调函数的,它的作用是,不管调用的是deferred.resolve()还是deferred.reject(),最后总是执行。

    1.1K100发布于 2018-01-08
  • 来自专栏图雀社区

    JavaScript 异步编程指南 — 你不知道的 Promise 前世 Deferred

    Promise 是现代 JavaScript 比较重要的一个核心概念,也许你会疑问为什么会提到 Deferred?这个是什么? 也许你之前没听过,其实我们现在的 Promise 就是由 Deferred 逐步演变而来形成了如今的一套规范 PromiseA+。 了解 Promise 前世 Deferred 本节你可以跟随笔者一起来了解下这个 Deferred 是什么? 封装一个自己的 Deferred 对象 deferred 对象的执行将状态分为三个:未完成、已完成、已失败。 为了避免这种情况,jQuery 1.5 之后提供了 deferred.promise() 方法,作用是在 deferred 对象上返回 deferred 的 promise 对象,仅能使用与执行状态无关的方法

    1.3K10发布于 2021-06-17
  • 来自专栏Rust语言学习交流

    【大家的项目】可 Deferred 就绪的 Future 实现类

    deferred-future 模仿jQuery.Deferred(),允许 【地点】从Future实现类实例外部 【时间】异步地 改变当前Future对象的Polling状态从Poll::Pending 安装 不开启【条件编译】 cargo add deferred-future 面向WASM,推荐仅开启local cargo add deferred-future --features=local 用法 let deferred_future = LocalDeferredFuture::default(); // (2) 取出它的 defer 实例。 // (1) 构造·形似 jQuery.Deferred() 的 trait FusedFuture 实例类实例。 let deferred_future = LocalDeferredFuture::default(); // (2) 取出它的 defer 实例。

    49410编辑于 2023-10-30
  • 来自专栏Rust语言学习交流

    【大家的项目】可 Deferred 就绪的 Future 实现类

    deferred-future 模仿jQuery.Deferred(),允许 【地点】从Future实现类实例外部 【时间】异步地 改变当前Future对象的Polling状态从Poll::Pending 安装 不开启【条件编译】 cargo add deferred-future 面向WASM,推荐仅开启local cargo add deferred-future --features=local 用法 let deferred_future = LocalDeferredFuture::default(); // (2) 取出它的 defer 实例。 // (1) 构造·形似 jQuery.Deferred() 的 trait FusedFuture 实例类实例。 let deferred_future = LocalDeferredFuture::default(); // (2) 取出它的 defer 实例。

    42910编辑于 2023-10-30
  • 来自专栏偏前端工程师的驿站

    JS魔法堂:jQuery.Deferred(jQuery1.5-2.1)源码剖析

    Deferred实例工厂 /** * Deferred实例工厂 * Deferred实例实际上就是对一堆回调函数的管理 */ $. 对外API——jQuery.Deferred /** * 用户使用的jQuery.Deferred API * 返回EnhancedDeferred类型实例(加工后的Deferred实例) */ $.Deferred = function(func) {   /** * EnhancedDeferred实例有两个Deferred实例构成 * 其中deferred代表成功回调函数, 融入deferred的扩展方法中构建所得 */ var deferred = jQuery. (deferred, deferred) } return deferred }    jQuery.Deferred函数返回一个EnhancedDeferred实例,而EnhancedDeferred

    2.2K90发布于 2018-01-18
  • 来自专栏京东技术

    Deferred Components-实现Flutter运行时动态下发Dart代码

    Tech      导读 Deferred Components,官方实现的Flutter代码动态下发的方案。 本文主要介绍官方方案的实现细节,探索在国内环境下使用Deferred Components,并且实现了最小验证demo。读罢本文,你就可以实现Dart文件级别代码的动态下发。 Deferred Components是Flutter2.2推出的功能,依赖于Dart2.13新增的对Split AOT编译支持。 将可以在运行时每一个可单独下载的Dart库、assets资源包称之为延迟加载组件,即Deferred Components。 参考: https://docs.flutter.dev/perf/deferred-components https://github.com/flutter/flutter/wiki/Deferred-Components

    2.5K10编辑于 2022-06-24
  • 来自专栏软件工程师成长笔记

    spring boot--Deferred方式实现异步调用,提高系统的吞吐量

    2、Deferred方式实现异步调用 在我们是生产中,往往会遇到这样的情景,controller中调用的方法很多都是和第三方有关的,例如JMS,定时任务,队列等,拿JMS来说,比如controller里面的服务需要从 JMS中拿到返回值,才能给客户端返回,而从JMS拿值这个过程也是异步的,这个时候,我们就可以通过Deferred来实现整个的异步调用。 logger = LoggerFactory.getLogger(this.getClass()); @Async public void execute(DeferredResult<String> deferred execute方法"); try { // 模拟长时间任务调用,睡眠2s TimeUnit.SECONDS.sleep(2); // 2s后给Deferred 发送成功消息,告诉Deferred,我这边已经处理完了,可以返回给客户端了 deferred.setResult("world"); } catch (InterruptedException

    1.8K20发布于 2018-09-11
  • 来自专栏小麦苗的DB宝专栏

    【DB笔试面试274】在Oracle中,什么是延迟段创建(Deferred Segment Creation)?

    Q 题目如下所示: 在Oracle中,什么是延迟段创建(Deferred Segment Creation)? 延迟段创建特性通过DEFERRED_SEGMENT_CREATION参数控制,默认为TRUE,表示开启该功能。延迟段创建可以节省空间,加快初始化过程,是面向性能和资源的一个优化。 可以通过修改参数DEFERRED_SEGMENT_CREATION来关闭这个特性: ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FLASE; 该参数为动态参数, ② 设置DEFERRED_SEGMENT_CREATION参数。 设置DEFERRED_SEGMENT_CREATION参数为FALSE来禁用“延迟段创建”,无论是空表还是非空表,都会分配SEGMENT。

    1K20编辑于 2022-02-22
领券