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_typetask<result_type> 的变量作为输入,其中 result_type 是此任务产生的结果的类型。

  • _TaskOptions
    该任务选项包括取消标记、计划程序和继续上下文。 默认情况下,前面的 3 个选项从前面的任务继承

  • _CancellationToken
    与延续任务相关联的取消标记。 创建时未使用取消标记的继续任务将继承其前期任务的标记。

  • _ContinuationContext
    指定在何处应执行延续的变量。 此变量仅在用于 Windows 应用商店样式的应用程序时才有用。 有关详细信息,请参见 task_continuation_context

返回值

新创建的继续任务。 返回任务的结果类型取决于 _Func 返回什么。

备注

承载返回 Windows::Foundation::IAsyncInfo 接口的 lambda 或函数的 then 的重载仅对 Windows 应用商店应用程序可用。

有关如何使用任务延续构成异步工作的更多信息,请参见 任务并行(并发运行时)

要求

**标头:**ppltasks.h

**命名空间:**并发

请参见

参考

task 类(并发运行时)