Я хочу подождать Задача <T> , чтобы выполнить некоторые специальные правила: Если он не завершился после X миллисекунд, я хочу отобразить сообщение пользователю. И если он не завершился после Y миллисекунд, я хочу автоматически отменить отмену.
Я могу использовать Task.ContinueWith для асинхронного ожидания завершения задачи (т.е. планировать действие, которое будет выполняться при завершении задачи), но что не позволяет указать тайм-аут. Я могу использовать Task.Wait для синхронного ожидания завершения задачи с таймаутом, но это блокирует мой поток. Как я могу асинхронно ждать завершения задачи с тайм-аутом?