Почему fail() срабатывает, если в $.when() нет ошибки?
Я использую JQuery v2.0.0
Я пытаюсь понять отложенные объекты, и я получил неожиданный результат. Ошибка () сработала, хотя здесь нет видимой или известной ошибки.
function foo1() { alert('testing'); }
$.when(foo1())
.done(alert('success'))
.fail(alert('fail'))
Спасибо...
2 ответа
Решение
Вы должны передать свои обратные вызовы как функции:
$.when(foo1())
.done(function() {
alert('success');
}).fail(function() {
alert('fail');
});
В настоящее время вы пытаетесь зарегистрировать undefined
результат немедленного звонка alert('fail')
как твой .fail
обработчик.
Хотя вы этого не сказали, вы увидите success
а также fail
появляются оповещения, которые должны указывать на то, что вы сделали что-то не так;-)
Вместо передачи ссылки на функцию в done
а также fail
функции, которые вы вызываете их
function foo1() {
alert('testing');
}
$.when(foo1())
.done(function () {
alert('success')
})
.fail(function () {
alert('fail')
})