Метод JQuery deferred.then ()
Опубликовано: 22 Декабря, 2021
Этот метод deferred.then () в JQuery используется для добавления обработчиков, которые должны вызываться, когда объект Deferred разрешен, отклонен или выполняется.
Синтаксис:
deferred.then (doneCallbacks [, failCallbacks] [, progressCallbacks])
Параметры:
- doneCallbacks: это функция или массив функций, которые вызываются при разрешении Deferred.
- failCallbacks: это функция или массив функций, которые вызываются, когда Deferred отклоняется.
- progressCallbacks: это функция или массив функций, которые вызываются при отправке уведомлений о ходе выполнения в объект Deferred.
Возвращаемое значение: этот метод метода возвращает отложенный объект.
Ниже обсуждаются два примера:
- Пример: В этом примере метод then () вызывается с методом уведомления и разрешения.
<!DOCTYPE HTML>
<
html
>
<
head
>
<
title
>
JQuery | deferred.then() method
</
title
>
</
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.then() 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
>
- Выход:
Пример: В этом примере метод then () вызывается с помощью метода notify и reject.
<!DOCTYPE HTML>
<
html
>
<
head
>
<
title
>
JQuery | deferred.then() method
</
title
>
</
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.then() 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.reject('Deferred "def" is rejected.<
br
/>',
'#GFG_DOWN');
}
</
script
>
</
body
>
</
html
>
- Выход: