Comments (5)
We handle this in fireplace with a simple event queue [1], any updates are then batched up and handled in the next run-loop. Something similar should be fairly straightforward to implement here I'd expect.
[1] https://github.com/rlivsey/fireplace/blob/master/packages/fireplace/lib/model/event_queue.js
from emberfire.
@rlivsey i notice a small comment in your code related to difficulty testing. Debounced/throttled workloads are a pain to test, I would suggest that firebase solution either disable itself for testing, or work it into the testing framework so it can be aware of the async
Also, your solution helps mitigate if a series of "synchronous" or near "synchronous" updates are pushed into ember, but this rate (depending on the app) can still be much higher then when a user can perceive. I would still suggest considering a solution (maybe configurable) that covers a larger window.
from emberfire.
Interesting. @stefanpenner, @rlivsey - what do you suggest the default interval to push changes into Ember be? We can make it configurable of course.
from emberfire.
well it makes little sense to render at more then 60fps. So (1000/16)ms would be the absolute maximum, depending on the type of application and the rate of data flowing in, I have bumped it up to as high as 50ms or 100ms. But it entirely depends on what that app dictates as an acceptable latency.
from emberfire.
See 2a6c0ec
from emberfire.
Related Issues (20)
- This seems to throw an error HOT 2
- Realtime: how to subscribe to multiple documents HOT 15
- Steps for local-setup lead to non-functional dummy app HOT 2
- Does emberfire v3 realtime database adapter work at all? HOT 7
- store.queryRecord broken with query-only HOT 2
- Type Error: firebase-app.ts HOT 2
- Realtime Updates not working HOT 8
- fastboot, ember simple auth and emberfire dont work each other HOT 2
- error querying firestore in fastboot mode HOT 1
- Firestore adapter reference options order
- Emberfire v3 bug in the firestore adapter
- Bug in firestore: Cannot read property 'replace' of undefined HOT 5
- Using `include` in findRecord throws error HOT 1
- subcollections implemented in a way that prevents multiple hasmany relationships with the same model
- FirestoreAdapter Error while processing route: index the adapter could not find the resource HOT 2
- Session.isAuthenticated is not getting updated? HOT 5
- adapter.fetch is not a function when using TORII for Auth in 3.0.0-rc6 HOT 1
- Potential Security Issue
- @jamesdaniels, please consider ember-adopted-addons program HOT 1
- For Anyone Struggling with hasMany relationships with Firestore
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 emberfire.