Показать сообщение отдельно
  #3 (permalink)  
Старый 07.04.2015, 15:34
Аватар для FireVolkhov
Аспирант
Отправить личное сообщение для FireVolkhov Посмотреть профиль Найти все сообщения от FireVolkhov
 
Регистрация: 17.04.2013
Сообщений: 88

Костыль по быстрому накидал
angular.module 'KeepTeam.Common'
	.service 'SynchroQ', ($rootScope) ->
		_evalAsync: null

		isSynchroOn: false
		synchronousOn: ->
			unless @isSynchroOn
				@isSynchroOn = true
				@_evalAsync = $rootScope.$evalAsync

				$rootScope.$evalAsync = (callback) ->
					callback?()

		synchronousOff: ->
			if @isSynchroOn
				@isSynchroOn = false

				if @_evalAsync
					$rootScope.$evalAsync = @_evalAsync
					@_evalAsync = null

и в коде
promise = $q.when()
 if allItems
  SynchroQ.synchronousOn()
  promise.$$state.status = 1
 promise.then ->
    if allItems
     return allItems
    else
     return $http.get(...)
  .then ->
    SynchroQ.synchronousOff()
    Полезные действия...

Это выглядит очень костыльно и по хорошему, чтоб решить задачу придется сделать модифицированный сервис $q
Ответить с цитированием