機能があります。関数の内部は次のようになります。
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
実行されないことです。