/*
pipe表示可以返回一个promise对象,这样就可以支持链式编程
第一个pipe的返回值会传入到第二个pipe的参数中
只要有一个pipe返回了reject之后pipe默认都是返回reject的
最后会在fail中处理
*/
$("#content").promise().pipe(function(data){
//this就是包装集对象
//$(this).html("abc");
var n = 10;
//只要返回一个值就表示是正确信息
if(n>5) {
var def = $.Deferred();
def.reject("error");
return def;
} else {
return n;
}
}).pipe(function(value){
//不管进行多少个pipe,this都是包装集
//$(this).html("abc");
return value+10;
},function(value){
//第二个参数返回错误信息
alert(value);
//当其中一个pipe返回的是错误信息之后,这里就直接返回错误
//如果希望返回正确信息,要通过def.resolve来处理
return value;
}).done(function(value) {
alert(value);
}).fail(function(value){
alert("fail:"+value);
});
三十二、pipe
最新推荐文章于 2024-05-22 12:24:46 发布