deferred.pipe([doneFilter],[failFilter],[progressFilter])

概述

筛选器和/或链Deferreds的实用程序方法。

deferred.pipe()方法返回一个新的promise,该过滤器通过一个函数有关的递延状态和价值。该doneFilter和failFilter原递延过滤功能的解决/拒绝的状态和价值。这些过滤器函数可以返回一个新的值被传递给管道承诺的done()或fail()的回调,或者他们可以返回另一个观察对象(推迟,承诺等),将通过它的解决/拒绝状态和价值,以保证管道的回调。如果使用的是过滤功能null ,或不指定,则管道的承诺将得到解决或原驳回值具有相同。

注意:从 jQuery 1.8 开始,deferred.pipe() 方法过时. 应该使用deferred.then() 代替它。大理石机械构件维修

参数

doneFilter,failFilterV1.6

doneFilter:可选函数,当递延得到解决时调用。

failFilter:可选函数,当递延得被拒绝时调用。

doneFilter,failFilter,progressFilterV1.7

doneFilter:可选函数,当递延得到解决时调用。

failFilter:可选函数,当递延得被拒绝时调用。

progressFilter:一个可选的函数会在延迟调用被拒绝时被调用

示例

描述:

过滤解决值:

jQuery 代码:
var defer = $.Deferred(),
filtered = defer.pipe(function( value ) {
return value * 2;
}); defer.resolve( 5 );
filtered.done(function( value ) {
alert( "Value is ( 2*5 = ) 10: " + value );
});

描述:

过滤器拒值:

jQuery 代码:
var defer = $.Deferred(),
filtered = defer.pipe( null, function( value ) {
return value * 3;
}); defer.reject( 6 );
filtered.fail(function( value ) {
alert( "Value is ( 3*6 = ) 18: " + value );
});;

描述:

链任务:

jQuery 代码:
var request = $.ajax( url, { dataType: "json" } ),
chained = request.pipe(function( data ) {
return $.ajax( url2, { data: { user: data.userId } } );
}); chained.done(function( data ) {
// data retrieved from url2 as provided by the first request
});

最新文章

  1. Sprint第三阶段(第四天12.12)
  2. 【转】Wince中文乱码解决方法
  3. 表单input按钮在各浏览器之间的兼容性
  4. Android实时监听网络状态(1)
  5. [cocos2dx]计算scrollview元素的index
  6. WinCacheGrind配合XDebug分析PHP程序性能
  7. MySQL日志概述
  8. OpenGL路(四)自制的图形功能(立方体、汽缸、圆锥)
  9. COCOA® PROGRAMMING FOR MAC® OS X (2)- Speak Line
  10. 《Python自然语言处理》第二章 学习笔记
  11. JAVAEE企业级应用开发浅谈第二辑:MVC和三层架构
  12. 【网络流】【BZOJ1061】【NOI2008】志愿者招募
  13. 配置SSH(GNS3)
  14. html语义化标签
  15. OO第二单元总结(多线程的电梯调度)
  16. C# Unity依赖注入
  17. (转载)CPU、内存、硬盘、指令以及他们之间的关系
  18. utc时间转成local时间
  19. HOOK NTFS 禁止格式化
  20. Centos 7最小化安装后配置

热门文章

  1. Demonstration(CodeForces-191B)【贪心】
  2. zookeeper-waches
  3. golang以服务方式运行
  4. SSM集成
  5. 【Transact-SQL】找出不包含字母、不包含汉字的数据
  6. node express4 + 前端自动刷新
  7. centos7安装google浏览器
  8. 串口工具kermit(ubuntu)
  9. liunx mkisofs 命令的使用(制作iso)
  10. 简单实现app使用PC图片