Если я сделаю вызов
await check(category=1)
То сама функция будет работаь асинхронно, по отношению к другим асинхронным функциям.
Но элементы массива внутри функции
check скорей всего будут пробегаться синхронно, друг за другом.
Чтобы распараллелить обработку массива, нужно будет применить какую-то технику. Самое простое - использовать
result = await asyncio.gather(*(compare_data_from_db(i) for i in listok))
Где
compare_data_from_db тоже асинхронная функция.