This works, but seems overly complicated.
I've created a Subject with the region name in the service and had the component subscribe to it.
When the region name is changed, the component unsubscribes from the current http.get and subscribes to a new one.
In the update I have separated the region service from the news service.
Region switcher now only depends on the region service
News component now only depends on the news service
Region service is injected into news service
Moved all logic from the news component back to the news service. News component doesn't know anything about the region, just displays whatever the service pushes onto it.
The logic inside the news service is still quite complicated, so we might be able to simplify it, I just don't see how at the moment
This works, but seems overly complicated. I've created a Subject with the region name in the service and had the component subscribe to it.
When the region name is changed, the component unsubscribes from the current http.get and subscribes to a new one.