I think getNavData
represents a design mistake, because the question then becomes (as you have apparently run into) - “when do I call that?”, a question which I believe has no good answer. I would suggest redesigning your service so that fresh data updates are reactive instead of polled.