JQuery .Deferred()方法
JQuery中的这个JQuery.Deferred()方法是一个函数,它返回实用对象的方法,可以注册多个回调队列。它调用回调队列,并转达任何同步或异步函数的成功或失败状态。
语法:
jQuery.Deferred([beforeStart])
参数:
- beforeStart : 这是一个函数,在构造函数返回之前调用。
返回值 。该方法创建并返回一个新的递延对象。
下面讨论两个例子。
- 例子:在这个例子中,Deferred()被用来创建一个新的对象,之后then()方法被调用通知和解决方法。
<!DOCTYPE HTML>
<html>
<head>
<title>
JQuery.Deferred() method
</title>
<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 id="GFG_UP">
</p>
<button onclick = "Geeks();">
click here
</button>
<p id="GFG_DOWN">
</p>
<script>
var el_up = document.getElementById("GFG_UP");
el_up.innerHTML = "JQuery.Deferred() method";
function Func1(val, div){
(div).append("From doneCallbacks - " + val);
}
function Func2(val, div){
(div).append("From failCallbacks - " + val);
}
function Func3(val, div){
(div).append("From progressCallbacks - " + val);
}
function Geeks() {
var def =.Deferred();
def.then(Func1, Func2, Func3);
def.notify(
'Deferred "def" is notified.<br/>', '#GFG_DOWN');
def.resolve(
'Deferred "def" is resolved.<br/>', '#GFG_DOWN');
}
</script>
</body>
</html>
输出 :
- 例子:在这个例子中,Deferred()方法被使用,Deferred对象的状态被检查。
<!DOCTYPE HTML>
<html>
<head>
<title>
JQuery.Deferred() method
</title>
<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 id="GFG_UP">
</p>
<button onclick = "Geeks();">
click here
</button>
<p id="GFG_DOWN">
</p>
<script>
var el_up = document.getElementById("GFG_UP");
el_up.innerHTML = "JQuery.Deferred() method";
var def = .Deferred();
def.resolve();
function Geeks() {
('#GFG_DOWN').text(
'deferred state is ' + def.state());
}
</script>
</body>
</html>
- 输出: