У меня недавно был случай, когда код после обратного вызова выполнялся до выполнения обратного вызова $.ui.popup
. Мое решение состояло в том, чтобы установить переменную перед рукой, названной pause, установить ее в true, выполнить код $.ui.popup
, а затем получить код, который мне нужно было ждать через определенный интервал. Пример:
var pause = false;
function something() {
if(edited && renamed) {
pause = true;
$.ui.popup({
//...
doneCallback: function() {
//...
pause = false;
}
//...
});
//...
}
var waitCode = setInterval(function(){
if(!pause) {
//... code I needed to wait on ...
clearInterval(waitCode);
}
},500);
}