Comments (2)
For anyone else interested... for now I have implemented the following which meets my needs:
import { MeteorObservable } from 'meteor-rxjs';
import { Observable, Subject } from 'rxjs';
export class MeteorObservableOnce extends MeteorObservable {
public static call<T>(name: string, ...args: any[]): Observable<T> {
let subject: Subject<T> = new Subject();
super.call.apply(this, arguments).subscribe(subject);
return subject.asObservable();
}
}
You could just as easily give the method another name and still keep access to the original call method
from meteor-rxjs.
It seems my understanding of Observables was limited and the reason it has been done this way (as a 'cold Observable') is because there is no guarantee that subscribers won't miss the first data received from the server if the call is made before the subscribers are attached. However unlikely it might be that data will be 'lost' considering the delay in receiving data over the wire it still cannot be guaranteed.
The way to go is probably to create a ConnectableObservable and work with that. For future reference here is a link to an excellent post about the difference between hot & cold Observables:
https://blog.thoughtram.io/angular/2016/06/16/cold-vs-hot-observables.html
from meteor-rxjs.
Related Issues (20)
- MeteorObservable.call does not seem to be working HOT 2
- ERROR in ./node_modules/rxjs/observable/BoundCallbackObservable.js HOT 3
- Cannot find namespace HOT 4
- There is a way to do this? HOT 2
- Mongo is not defined HOT 7
- Using dburles:collection-helpers package HOT 2
- Does this work with RxJS 6? HOT 6
- No support for ValidatedMethods (method 'objects')
- ObservableCollections are not an instance of Observable HOT 1
- Suggestion: MeteorObservable passing through observables
- ObservableCollection.d.ts: error TS2314: Generic type 'Selector' / 'Modifier' requires 1 type argument(s). HOT 5
- IE11 syntax error
- Use outside of Meteor?
- Action required: Add a Renovate config
- Problem with property zone
- ObservableCursor aliases all lists it passes to callbacks
- Hidden dependency on underscore.js
- No way to recover if ObservableCollection#insert() fails synchronously HOT 1
- support for higher version than angular 7 HOT 4
- Linting errors with zone.js >= v0.11.0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meteor-rxjs.