Método task::then

Adiciona uma tarefa de continuação de linha para esta tarefa.

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;

Parâmetros

  • _Function
    O tipo de objeto de função que será chamado por essa tarefa.

  • _Func
    A função de continuação a ser executada quando esta tarefa terminar. Essa função de continuação deve tomar como entrada uma variável de result_type ou de task<result_type>, onde result_type é o tipo de resultado que esta tarefa produz.

  • _TaskOptions
    As opções de tarefas incluem o token de cancelamento, o agendador e o contexto de continuação de linha. Por padrão, as 3 opções antigas são herdadas da tarefa antecedente

  • _CancellationToken
    O token de cancelamento associa a tarefa com a tarefa de continuação. Uma tarefa de continuação que é criada sem um token de cancelamento herdará o token de sua tarefa antecedente.

  • _ContinuationContext
    Uma variável que especifica onde a seguir deve ser executada. Esta variável é útil somente quando usada em um aplicativo de estilo do Windows Store. Para obter mais informações, consulte task_continuation_context

Valor de retorno

A tarefa recém-criada de continuação de linha. O tipo do resultado da tarefa retornada é determinado por qual _Func é retornada.

Comentários

As sobrecargas de then que recebem um lambda ou um functor que retorna uma interface de Windows::Foundation::IAsyncInfo, só estão disponíveis para aplicativos do Windows Store.

Para obter mais informações sobre como usar continuações de tarefas para compor o trabalho assíncrono, consulte Paralelismo de tarefa (tempo de execução de simultaneidade).

Requisitos

Cabeçalho: ppltasks.h

Namespace: simultaneidade

Consulte também

Referência

Classe task (Tempo de Execução de Simultaneidade)