Really appreciate that.
I guess the document need to update your solution to make it clearer:
https://anvil.works/docs/background-tasks/communicating-back
def timer_tick(self, **event_args):
with anvil.server.no_loading_indicator:
if self.task.is_completed():
alert(self.task.get_return_value()) #a bit modification
self.timer.interval = 0