实例方法
next
nextResult()
等待下一个子任务完成,并返回包含子任务返回的值或抛出的错误的结果。
声明
mutating func nextResult() async -> Result<ChildTaskResult, Failure>?
返回值
包含子任务返回的值的 Result.success
值,或包含子任务抛出的错误的 Result.failure
值。
详述
对该方法的连续调用返回的值按照任务 completed
的顺序出现,而不是按照这些任务添加到任务组的顺序出现。例如:
group.addTask { 1 }
group.addTask { 2 }
guard let result = await group.nextResult() else {
return // No task to wait on, which won't happen in this example.
}
switch result {
case .success(let value): print(value)
case .failure(let error): print("Failure: \(error)")
}
// Prints either "2" or "1".
如果下一个子任务引发错误,并且您将该错误从此方法传播到对ThrowingTaskGroup.withThrowingTaskGroup(of:returning:body:)
方法,则该组中所有剩余的子任务都被隐式取消。
可用版本
iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+
相关用法
- Swift ThrowingTaskGroup next()用法及代码示例
- Swift ThrowingTaskGroup prefix(while:)用法及代码示例
- Swift ThrowingTaskGroup max(by:)用法及代码示例
- Swift ThrowingTaskGroup prefix(_:)用法及代码示例
- Swift ThrowingTaskGroup compactMap(_:)用法及代码示例
- Swift ThrowingTaskGroup first(where:)用法及代码示例
- Swift ThrowingTaskGroup dropFirst(_:)用法及代码示例
- Swift ThrowingTaskGroup map(_:)用法及代码示例
- Swift ThrowingTaskGroup allSatisfy(_:)用法及代码示例
- Swift ThrowingTaskGroup contains(where:)用法及代码示例
- Swift ThrowingTaskGroup contains(_:)用法及代码示例
- Swift ThrowingTaskGroup reduce(_:_:)用法及代码示例
- Swift ThrowingTaskGroup drop(while:)用法及代码示例
- Swift ThrowingTaskGroup flatMap(_:)用法及代码示例
- Swift ThrowingTaskGroup min()用法及代码示例
- Swift ThrowingTaskGroup filter(_:)用法及代码示例
- Swift ThrowingTaskGroup min(by:)用法及代码示例
- Swift ThrowingTaskGroup max()用法及代码示例
- Swift ThrowingTaskGroup.Iterator用法及代码示例
- Swift TaskGroup max()用法及代码示例
- Swift TaskGroup filter(_:)用法及代码示例
- Swift TaskGroup contains(where:)用法及代码示例
- Swift TaskGroup allSatisfy(_:)用法及代码示例
- Swift TaskGroup prefix(_:)用法及代码示例
- Swift TextOutputStream用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 ThrowingTaskGroup nextResult()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。