Приветствую.
Есть некоторые места в коде, где необходимо использовать $apply. Чтобы не получать ненужные ошибки, проверяю не выполняется ли сейчас $apply или $digest
if(!scope.$phase && !scope.$root.$phase)
. Из-за этого условия выполнять код внутри $apply становится не очень удобно, т.к приходится дублировать код.
if(!scope.$phase && !scope.$root.$phase){
scope.$apply(function(){
/* some code */
});
}else{
/* some code */
}
Поэтому сейчас использую такую конструкцию
/* some code */
if(!scope.$phase && !scope.$root.$phase){
scope.$apply();
Какие потенциальные проблемы могут возникнуть, если вызывать $apply после выполнения кода?
Правильно ли я понимаю, что вызов внутри $apply актуален для асинхронного кода, а в случае последовательного выполнения проблем быть не должно?