Update Coordinator: Only schedule a refresh if listenerrs (#34317)
This commit is contained in:
parent
c9cc024e9b
commit
ff469cb592
2 changed files with 5 additions and 1 deletions
|
@ -170,6 +170,7 @@ class DataUpdateCoordinator:
|
|||
self.name,
|
||||
monotonic() - start,
|
||||
)
|
||||
if self._listeners:
|
||||
self._schedule_refresh()
|
||||
|
||||
for update_callback in self._listeners:
|
||||
|
|
|
@ -41,6 +41,8 @@ async def test_async_refresh(crd):
|
|||
await crd.async_refresh()
|
||||
assert crd.data == 1
|
||||
assert crd.last_update_success is True
|
||||
# Make sure we didn't schedule a refresh because we have 0 listeners
|
||||
assert crd._unsub_refresh is None
|
||||
|
||||
updates = []
|
||||
|
||||
|
@ -50,6 +52,7 @@ async def test_async_refresh(crd):
|
|||
unsub = crd.async_add_listener(update_callback)
|
||||
await crd.async_refresh()
|
||||
assert updates == [2]
|
||||
assert crd._unsub_refresh is not None
|
||||
|
||||
# Test unsubscribing through function
|
||||
unsub()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue