В твоей задаче вряд ли помогут — они работают в браузере под капотом и сами. А вот что может тебе помочь — перенести логику сортировки/фильтрации на бэк. А с бэка отдавать данные не как текст, а как файл. Данные можно передавать по сети в виде файлов даже при условии, что этих файлов нигде физически не существует. Ну а при скачивании стримы сами подтянутся (если бэкендер не совсем тугой)
Бек продвинутый, но некоторые фишки возможно делает тоже первый раз. Сейчас как раз разбирается с выдачей ответа потоками. Возможность пересобирать ответ на сервере для выдачи каждого из вариантов - это наиболее правильное решение, но сейчас такой возможности нет, увы :( Сейчас просто получаю блоб с содержимым csv и модифицирую для выдачи на фронте.
По поводу "Данные можно передавать по сети в виде файлов даже при условии, что этих файлов нигде физически не существует" - это передача блоб файла? Или все таки как-то можно передавать рабочую ссылку на физически несуществующий файл в ответе? Возможно гет запрос?