For processing large datasets and background syncing being able to add a web worker could be a nice performance booster. keeping these long or frequently running queries off the main thread, especially for anything non-ui essential, is important. while async functions are def the right starting point, they aren't guaranteed to run on a different thread and, i think, they usually end up executed on the main thread to sorta emulate parallelism (it's like the multithread of multiprocessing).