hmmm, я застрял на этом какое-то время, надеюсь, я смогу получить некоторые подсказки от вас, ребята.угловой код js в. Then функция выполнена до обещания заканчивается
я положил некоторые примеры кода здесь, чтобы проиллюстрировать этот вопрос: http://jsfiddle.net/HB7LU/18216/
так в основном, я ожидал console.log («из положить данные для элемента» + номер); выполняться сразу после завершения вызова mySvc.get(), когда я нажимаю элемент участника.
$q.all([
mySvc.get({id: number})
]).then(function() {
console.log('out put data for member ' + number);
});
но это не тот случай, когда он работает только в первый раз, когда вы нажимаете на него. второй раз, когда вы нажимаете на него, происходит обратное.
XHR finished loading: GET "http://fiddle.jshell.net/HB7LU/18216/show/test?id=1"
(index):53 loading data - rest call finished
(index):68 out put data for member 1 <- this is correct
(index):68 out put data for member 2 <- this is wrong, should wait till rest call finishes
XHR finished loading: GET "http://fiddle.jshell.net/HB7LU/18216/show/test?id=2
(index):53 loading data - rest call finished
ps: Я проверил его в хромированном состоянии. havent проверил его в других браузерах
, пожалуйста, дайте мне знать, как я могу это исправить. благодаря!
Можете вы добавить код для mySvc.get? Возвращает ли mySvc.get() обещание? $ q.all() передается массив $ q.promises. Итак, если вы не возвращаете обещание от .get(), тогда это не сработает. Покажите, пожалуйста. – frosty