$createObservableFunction メソッドを使用してオブザーバブルを作成し、そのオブザーバブルを複数回サブスクライブするとします。最後のサブスクライバーは、他のサブスクライバーをオーバーライドします。
ただし、 rx.Observable.interval() でオブザーバブルを作成し、それを複数回サブスクライブするとします。両方のサブスクライバーが間隔で起動します。
なんで?さらに重要なのは、$createObservableFunction を取得して両方のサブスクライバーを起動するにはどうすればよいかということです。
app.controller('MainCtrl', function($scope, rx) {
var test = $scope.$createObservableFunction('testClick');
var test2 = rx.Observable.interval(3000);
test.subscribe(function(){
console.log('I never run, why?');
});
test.subscribe(function(){
console.log('Why am I overriding the above subscribe');
});
test2.subscribe(function(){
console.log('This observable runs both subscribed functions')
});
test2.subscribe(function(){
console.log('See this gets called and so does the above');
});
});
問題を説明するプランカーの例。http://plnkr.co/edit/kXa2ol?p=preview