/
GeoExe
/
AutoComplete_Task
Обзор
Документация
Войти
/
GeoExe
/
AutoComplete_Task
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
TaskExtensions.cs
22 строки
582 B
GeoExe
Created AutoCompleteTask
22 ноя 2025, 19:34
22 ноя 2025, 19:34
004b81d
Код
Авторство
О чём код?
using System; using System.Threading; using System.Threading.Tasks; namespace Autocomplete; public static class TaskExtensions { public static async Task<TResult> TimeoutAfter<TResult>(this Task<TResult> task, TimeSpan timeout) { var timeoutCancellationTokenSource = new CancellationTokenSource(); var completedTask = await Task.WhenAny(task, Task.Delay(timeout, timeoutCancellationTokenSource.Token)); if (completedTask == task) { timeoutCancellationTokenSource.Cancel(); return await task; } throw new TimeoutException("The operation has timed out."); } }