Partager via


task::then, méthode

Ajoute une tâche de continuation à cette tâche.

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;

Paramètres

  • _Function
    Le type de l'objet fonction qui sera appelé par cette tâche.

  • _Func
    Fonction de continuation à exécuter lorsque cette tâche se termine. Cette fonction de continuation doit accepter comme entrée une variable de result_type ou de task<result_type>, où result_type est le type du résultat produit par cette tâche.

  • _TaskOptions
    Les options de tâche incluent le jeton d'annulation, le planificateur et le contexte de continuation. Par défaut, les 3 options précédentes sont héritées de la tâche précédente

  • _CancellationToken
    Jeton d'annulation à associer à la tâche de continuation. Une tâche de continuation créée sans jeton d'annulation héritera du jeton de son antécédent.

  • _ContinuationContext
    Une variable qui spécifie où la continuation doit s'exécuter. Cette variable est utile uniquement lorsqu'elle est utilisée dans une application Windows Store. Pour plus d'informations, consultez task_continuation_context

Valeur de retour

Tâche de continuation récemment créée. Le type de résultat de la tâche retournée est déterminé par l'élément retourné par _Func.

Notes

Les surcharges de then qui acceptent une expression lambda ou un functor qui retourne une interface Windows::Foundation::IAsyncInfo, sont disponibles uniquement pour les applications Windows Store.

Pour plus d'informations sur l'utilisation des continuations de tâches pour créer un travail asynchrone, consultez Parallélisme des tâches (runtime d'accès concurrentiel).

Configuration requise

En-tête : ppltasks.h

Espace de noms : concurrency

Voir aussi

Référence

task (Concurrency Runtime), classe