创建一个任务,在作为参数提供的所有任务成功完成后,此任务将成功完成。
警告
本主题包含有关 C++ REST SDK 1.0 (codename "Casablanca") 的信息。如果你正在从 Codeplex Casablanca 网页 使用更高版本,则使用 http://casablanca.codeplex.com/documentation 上的本地文档。
template < typename _Iterator > auto when_all( _Iterator_Begin, _Iterator_End, const task_options& _TaskOptions = task_options() ) -> decltype (details::_WhenAllImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));
参数
_Iterator
输入迭代器的类型。_Begin
要合并到结果任务的元素范围中第一个元素的位置。_End
超出要合并到结果任务的元素范围的第一个元素的位置。_TaskOptions
返回值
将在所有输入任务成功完成后成功完成的任务。 如果输入任务的类型为 T,则此函数的输出将为 task<std::vector<T>>。 如果输入任务的类型为 void,则输出任务也将是 task<void>。
备注
如果其中一个任务被取消或引发异常,则返回的任务将提前完成(处于已取消状态),并且,如果您对该任务调用 get() 或 wait(),则在遇到异常的情况下将会引发异常。
要求
**标头:**pplxtasks.h
**命名空间:**pplx