Partager via


task::then, méthode (C++ REST SDK)

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
    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 result_type ou task<result_type>, où result_type correspond au type du résultat produit par cette tâche.

  • _TaskOptions
    Les options de la 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érite du jeton de son antécédent.

  • _ContinuationContext
    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 foncteur qui retourne une interface Windows::Foundation::IAsyncInfo sont uniquement disponibles 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 : pplxtasks.h

Espace de noms : pplx

Voir aussi

Référence

task, classe