Поделиться через


Метод task::then

Добавляет задачу продолжения к этой задаче.

template<
   typename _Function
>
__declspec(
   noinline
) auto then(const _Function& _Func) const -> typename details::_ContinuationTypeTraits<_Function, _ReturnType>::_TaskOfType;

template<
   typename _Function
>
__declspec(
   noinline
) auto then(const _Function& _Func, const task_options& _TaskOptions) const -> typename details::_ContinuationTypeTraits<_Function, _ReturnType>::_TaskOfType;

template<
   typename _Function
>
__declspec(
   noinline
) auto then(const _Function& _Func, cancellation_token _CancellationToken, task_continuation_context _ContinuationContext) const -> typename details::_ContinuationTypeTraits<_Function, _ReturnType>::_TaskOfType;

template<
   typename _Function
>
__declspec(
   noinline
) auto then(const _Function& _Func, const task_options& _TaskOptions = task_options()) const -> typename details::_ContinuationTypeTraits<_Function, void>::_TaskOfType;

template<
   typename _Function
>
__declspec(
   noinline
) auto then(const _Function& _Func, cancellation_token _CancellationToken, task_continuation_context _ContinuationContext) const -> typename details::_ContinuationTypeTraits<_Function, void>::_TaskOfType;

Параметры

  • _Function
    Тип объекта функции, который будет вызываться этой задачей.

  • _Func
    Функция продолжения, которая должна быть выполнена по завершении этой задачи. Эта функция продолжения должна принимать в качестве входных данных переменную типа result_type или task<result_type>, где result_type — тип результата, который создает эта задача.

  • _TaskOptions
    Параметры задачи включают токен отмены, планировщик и контекст продолжения. По умолчанию предыдущие 3 параметра наследуются от предшествующей задачи

  • _CancellationToken
    Токен отмены, который необходимо связать с задачей продолжения. Задача продолжения, созданная без токена отмены, унаследует токен своей предшествующей задачи.

  • _ContinuationContext
    Переменная, указывающая, где должно выполняться продолжение. Эта переменная полезна только при использовании в приложениях в стиле Магазина Windows. Дополнительные сведения см. в разделе task_continuation_context

Возвращаемое значение

Вновь созданная задача продолжения. Тип результата возвращаемой задачи определяется значением, возвращаемым _Func.

Заметки

Перегрузки then, которые принимают лямбда-выражение или функтор, которые возвращают интерфейс Windows::Foundation::IAsyncInfo, доступны только для приложений Магазина Windows.

Дополнительные сведения об использовании продолжения задач для составления асинхронной работы см. в разделе Параллелизм задач (среда выполнения с параллелизмом).

Требования

Заголовок: ppltasks.h

Пространство имен: concurrency

См. также

Ссылки

Класс task (среда выполнения с параллелизмом)