Basta usar a consulta de forma assíncrona e não bloqueante.
O método DatasetFactory.getDataset fornece uma forma assíncrona usando callbacks pra não bloquear o processamento.
Nessa resposta até foi sugerida uma solução alternativa https://forum.totvs.io/t/async-await-para-recuperar-informacao-de-dataset/14879#answer-5374