Свойство Status
Task.Status возвращает
TaskStatus: RanToCompletion,
Faulted, Canceled и другие.
У CompletedTask
- RanToCompletion. Булевы флаги -
IsCompleted
и связанные свойства.
Синтаксис
TaskStatus state = task.Status;
Пример
Давайте выведем статус успешной задачи:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var task = Task.FromResult(12345);
await task;
Console.WriteLine(task.Status);
}
}
Результат выполнения кода:
RanToCompletion
Пример
Давайте проверим сбойную задачу:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var task = Task.FromException(
new InvalidOperationException("abcde"));
await Task.Yield();
Console.WriteLine(task.Status);
}
}
Результат выполнения кода:
Faulted
Пример
Давайте проверим отменённую задачу:
using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var task = Task.FromCanceled(
new CancellationToken(true));
await Task.Yield();
Console.WriteLine(task.Status);
}
}
Результат выполнения кода:
Canceled
Смотрите также
-
свойство
IsCompleted,
завершена ли задача -
свойство
IsFaulted,
сбой по статусу -
свойство
IsCanceled,
отмена по статусу -
Task,
класс, где объявлено свойство