用法
deferred.promise( [target ] ) => Promise
deferred.promise( [target ] ) => Promise
说明:返回一个 Deferred 的 Promise 对象。
deferred.promise()
方法允许异步函数防止其他代码干扰其内部请求的进度或状态。 Promise 仅公开附加附加处理程序或确定状态所需的延迟方法(then
、done
、fail
、always
、pipe
、progress
、state
和 promise
),但不是那些改变状态的(resolve
、reject
、notify
、resolveWith
、rejectWith
和notifyWith
)。
如果提供了target
,deferred.promise()
会将方法附加到它上面,然后返回这个对象而不是创建一个新对象。这对于将 Promise 行为附加到已经存在的对象很有用。
如果您正在创建 Deferred,请保留对 Deferred 的引用,以便在某个时候可以解决或拒绝它。通过deferred.promise()
返回only
Promise 对象,以便其他代码可以注册回调或检查当前状态。
有关详细信息,请参阅 Deferred object 的文档。
例子:
创建一个 Deferred 并设置两个基于计时器的函数,以在随机间隔后解决或拒绝 Deferred。无论哪个先触发"wins",都会调用其中一个回调。第二次超时无效,因为延迟已经从第一次超时操作完成(处于已解决或拒绝状态)。还要设置一个基于计时器的进度通知函数,并调用一个将"working..." 添加到文档正文的进度处理程序。
|
使用 target 参数将现有对象提升为 Promise:
|
相关用法
- JQuery deferred.pipe()用法及代码示例
- JQuery deferred.done()用法及代码示例
- JQuery deferred.always()用法及代码示例
- JQuery deferred.then()用法及代码示例
- JQuery deferred.catch()用法及代码示例
- JQuery deferred.fail()用法及代码示例
- JQuery delay()用法及代码示例
- JQuery delegate()用法及代码示例
- JQuery dequeue()用法及代码示例
- JQuery detach()用法及代码示例
- JQuery data()用法及代码示例
- JQuery die()用法及代码示例
- JQuery dblclick()用法及代码示例
- JQuery Mobile Popup initSelector用法及代码示例
- JQuery Mobile Collapsibleset disabled用法及代码示例
- JQuery UI Datepicker prevText用法及代码示例
- JQuery ajaxError()用法及代码示例
- JQuery Mobile Selectmenu defaults用法及代码示例
- JQuery UI Tabs event用法及代码示例
- JQuery UI Selectable appendTo用法及代码示例
- JQuery UI :focusable Selector用法及代码示例
- JQuery UI Selectmenu disabled用法及代码示例
- JQuery UI Button classes用法及代码示例
- JQuery .jquery用法及代码示例
- JQuery .scroll()用法及代码示例
注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 deferred.promise()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。