實例方法
first(where:)
返回滿足給定謂詞的序列的第一個元素。
聲明
func first(where predicate: (Self.Element) async throws -> Bool) async rethrows -> Self.Element?
返回值
滿足 predicate
的序列的第一個元素,如果沒有滿足 predicate
的元素,則為 nil
。
參數
predicate
一個閉包,它將異步序列的元素作為其參數並返回一個布爾值,該值指示該元素是否匹配。
詳述
在此示例中,名為 Counter
的異步序列生成從 1
到 10
的 Int
值。 first(where:)
方法返回可以被 2
和 3
整除的序列的第一個成員。
let divisibleBy2And3 = await Counter(howHigh: 10)
.first { $0 % 2 == 0 && $0 % 3 == 0 }
print(divisibleBy2And3 ?? "none")
// Prints: 6
每次異步序列產生一個元素時,謂詞都會執行,直到謂詞找到匹配項或序列結束。
可用版本
iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+
相關用法
- Swift AsyncStream filter(_:)用法及代碼示例
- Swift AsyncStream flatMap(_:)用法及代碼示例
- Swift AsyncStream prefix(_:)用法及代碼示例
- Swift AsyncStream drop(while:)用法及代碼示例
- Swift AsyncStream max(by:)用法及代碼示例
- Swift AsyncStream dropFirst(_:)用法及代碼示例
- Swift AsyncStream reduce(_:_:)用法及代碼示例
- Swift AsyncStream prefix(while:)用法及代碼示例
- Swift AsyncStream allSatisfy(_:)用法及代碼示例
- Swift AsyncStream contains(_:)用法及代碼示例
- Swift AsyncStream min()用法及代碼示例
- Swift AsyncStream contains(where:)用法及代碼示例
- Swift AsyncStream init(_:bufferingPolicy:_:)用法及代碼示例
- Swift AsyncStream init(unfolding:onCancel:)用法及代碼示例
- Swift AsyncStream compactMap(_:)用法及代碼示例
- Swift AsyncStream min(by:)用法及代碼示例
- Swift AsyncStream map(_:)用法及代碼示例
- Swift AsyncStream max()用法及代碼示例
- Swift AsyncStream用法及代碼示例
- Swift AsyncSequence dropFirst(_:)用法及代碼示例
- Swift AsyncSequence reduce(_:_:)用法及代碼示例
- Swift AsyncSequence first(where:)用法及代碼示例
- Swift AsyncSequence prefix(_:)用法及代碼示例
- Swift AsyncSequence map(_:)用法及代碼示例
- Swift AsyncSequence allSatisfy(_:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 AsyncStream first(where:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。