實例方法
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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。