Рекомендую дополнить вопрос подробностями, что именно ожидалось получить и что идёт «не так» и как именно «не так».
Вопрос необходимо конкретизировать.
adaskl, вы меня извините, у меня глаза вытекают при взгляде на эту лапшу кода. И руки чешутся всё переделать. И голова сразу начинает думать, как можно это всё сделать по уму.
Но я сразу себя бью по рукам - задача большая, задачу и контекст я не знаю, поэтому лезть в рефакторинг этого не буду. Надо отдыхать вечером, а не вот это вот всё…
adaskl, в вашей функции не объявлен объект по имени text_1, поэтому и ошибка. Этот объект надо объявить либо внутри функции, либо в параметрах функции и затем передать его снаружи в функцию.
Вообще, когда появляются много одинаковых строк кода, отличающихся буквально парой индексов, это всё надо срочно переделывать, рефакторить. Иначе это плохо кончится - на любую переделку потребуется много труда и всё будет заброшено.
yxtiblin, замечу, что с асинхронностью я знаком весьма отдаленно, почитал, попробовал, но глубоко не прорабатывал, и на кончиках пальцев этого нет. Но я думаю, что вызов каждого метода аналогично вызову функций должен сработать.
Если там надо что-то ещё, пусть меня поправят старшие товарищи. Естественно, нужно всюду использовать асинхронные варианты всего.