У меня есть три $ часовых пояса в директиве.Композиции событий
Я хочу, чтобы doSomething только после того, как все три $ наблюдателя были запущены.
После йоЗотеЬЫпд был назван в первый раз, я тогда хочу DoSomething каждый раз, когда какой-либо один из $ часов слушателей огонь в будущем.
Я мог бы отслеживать, разрешали ли различные часы раньше и реализовывали мое желаемое поведение, но мне интересно, есть ли более простой способ. Может, RxJS может мне помочь?
Наивный подход ниже ... Я бы предпочел не отслеживать эту информацию в моей логике приложения.
var hasAResolved = false;
var hasBResolved = false;
var hasCResolved = false;
$scope.$watch('a', setAToResolvedAndMaybeDoSomething);
$scope.$watch('b', setBToResolvedAndMaybeDoSomething);
$scope.$watch('c', setCToResolvedAndMaybeDoSomething);
function doSomething(){...};
Что касается * «После того, как doSomething был вызван в первый раз, я тогда хочу делать что-то каждый раз, когда в будущем любой из $ watch-слушателей будет стрелять.» *. – dfsq