3
Я знаю, что кое-что мне до сих пор не хватает, хватая обещаний. Я создал этот jsfiddle, чтобы выделить мою проблему. Я пытаюсь подсчитать, а потом пойти БУМ! Но бум идет первым, а затем обратный отсчет. Что я делаю неправильно/отсутствует?Не могу получить обещания Angularjs, действующие правильно
HTML
<div ng-app="" ng-controller="Controller">
<pre>{{output}}</pre>
</div>
JS
function Controller($scope, $q) {
$scope.output = "Boom Goes the Dynamite in... "
$scope.countdown = 10;
var defer = $q.defer();
defer.promise
.then(function() {
var timer = setInterval(function() {
$scope.output+="\n " + $scope.countdown;
$scope.$apply();
if ($scope.countdown === 0) {
clearInterval(timer);
}
$scope.countdown--;
},1000);
return true
})
.then(function(data) {
$scope.output+="\n " + "BOOM!!!!!";
});
defer.resolve();
}
Спасибо, что помогли. Тем не менее, я все еще теряю что-то в понимании. Что, если бы у меня был еще один таймер, чем я хотел туда зацепиться? Как бы выглядел код. Например: http://jsfiddle.net/urAZ7/6/ Где я хочу, чтобы таймер 1 разрешил, затем timer2, затем Boom! – padawanlvn
Например, что-то вроде этого http://jsfiddle.net/urAZ7/7/ – dfsq
Я понимаю сейчас! Спасибо за вашу помощь – padawanlvn