JQuery deferred.pipe()方法
jQuery中的deferred.pipe()方法是用来添加实用方法的过滤器,链Deferreds。
语法:
deferred.pipe([doneFilter][, failFilter][, progressFilter])
参数:该方法接受上面提到的和下面描述的三个参数。
- doneFilter。它是一个可选的函数,当递延解决时被调用。
- failFilter。这是一个可选的函数,当递延被拒绝时被调用。
- progressFilter。这是一个可选的函数,当进度通知被发送到递延对象时被调用。
返回值:该方法返回递延对象。
例子1:在这个例子中,管道方法是与解析方法一起调用的。
<!DOCTYPE HTML>
<html>
<head>
<script src=
"https://code.jquery.com/jquery-3.5.0.js">
</script>
</head>
<body style="text-align:center;">
<h1 style="color:green;">
GeeksForGeeks
</h1>
<p>
JQuery | deferred.pipe() method
</p>
<button onclick="Geeks();">
click here
</button>
<p id="GFG"></p>
<script>
function Geeks() {
var def = .Deferred(),
filter = def.pipe(function (val) {
return "pipe() is called with "
+ val;
});
def.resolve('resolve method');
filter.done(function (val) {
('#GFG').append(val);
});
}
</script>
</body>
</html>
输出:
例子2:在这个例子中,管道方法与拒绝方法一起被调用。
<!DOCTYPE HTML>
<html>
<head>
<script src=
"https://code.jquery.com/jquery-3.5.0.js">
</script>
</head>
<body style="text-align:center;">
<h1 style="color:green;">
GeeksForGeeks
</h1>
<p>
JQuery | deferred.pipe() method
</p>
<button onclick="Geeks();">
click here
</button>
<p id="GFG"></p>
<script>
function Geeks() {
var def = .Deferred(),
filter = def.pipe(null,
function (val) {
return "pipe() is called with "
+ val;
});
def.reject('reject method');
filter.fail(function (val) {
('#GFG_DOWN').append(val);
});
}
</script>
</body>
</html>
输出: