Processamento de loop assíncrono Javascript

Eu tenho um loop de javascript que leva algum tempo para processar. Eu gostaria de poder reduzi-lo, mas ele precisa processar uma grande quantidade de dados. Enquanto está sendo executado, o navegador não responde, é claro. Eu li a melhor maneira de lidar com isso em javascript usando um loop assíncrono de algum tipo. Dessa forma, os cliques do mouse etc. podem continuar sendo processados entre o processamento do loop. Existe alguma estrutura assíncrona padrão que funcione bem para isso? Ou alguém pode fornecer um exemplo simples de como isso pode ser codificado? Obrigado

questionAnswers(6)

yourAnswerToTheQuestion