У меня есть функция.Внутренняя часть функции выглядит следующим образом:
if (isNewCustomer) {
doSomething();
cleanup();
}
else {
$.getJSON(..., function(result) {
doSomethingElse();
cleanup();
});
}
Я надеялся, что смогу просто сделать это, используя deferred.Моя попытка выглядит так:
var do_it = doSomething;
if (!isNewCustomer) {
do_it = $.getJSON(..., function(result) {
doSomethingElse();
});
}
$.when(do_it).done(function() {
cleanup();
});
Но это не работает.Что я делаю не так?
РЕДАКТИРОВАТЬ: Переименование переменной do
в do_it
.Это не проблема с кодом.Проблема в том, что когда do_it
равно doSomething
, doSomething
не выполняется.