Publishers.First
μ λ€λ¦ ꡬ쑰체 | μ€νΈλ¦Όμ 첫 λ²μ§Έ μμλ₯Ό λ°ννκ³ μ’ λ£νλ Publisher
μ΄λμ λΌμ΄μ λ ν κ°μ μΈμλ₯Ό λ°λλ€.
upstream
: μμμ νλ₯΄λ Publisher
first
μ€νΌλ μ΄ν°μ κ΄λ ¨μ΄ μλ€.
// Publishers.First Publisher
Publishers
.First(upstream: Publishers.Sequence<[Int], Never>(sequence: [1, 2, 3, 4, 5]))
.sink(receiveCompletion: { completion in
switch completion {
case .failure:
print("Combine First Error")
case .finished:
print("Combine First Finish")
}
}, receiveValue: { value in
print("Combine First : \(value)")
})
.store(in: &cancellables)
// first Operator
Publishers.Sequence<[Int], Never>(sequence: [1, 2, 3, 4, 5])
.first()
.sink(receiveCompletion: { completion in
switch completion {
case .failure:
print("Combine First Error")
case .finished:
print("Combine First Finish")
}
}, receiveValue: { value in
print("Combine First : \(value)")
})
.store(in: &cancellables)
// Combine First : 1
// Combine First Finish
μμ Publisherλ 1, 2, 3, 4, 5μ κ°μ μ°¨λ‘λλ‘ λΈλ€.
first
μ μν΄ μ²« λ²μ§Έ μμλ§ λ°νλλ©°, κ²°κ³Όμ μΌλ‘ 1μ κ°μ λ΄κ³ μ’
λ£νλ€.
RxSwift
first
μ€νΌλ μ΄ν°λ₯Ό μ¬μ©νμ¬ κ΅¬νν μ μλ€.
Observable.from([1, 2, 3, 4, 5])
.first()
.subscribe(onSuccess: { value in
print("RxSwift First : \(value)")
}, onError: { _ in
print("RxSwift First Error")
})
.disposed(by: disposeBag)
// RxSwift First : Optional(1)
ReactiveSwift
first
μ€νΌλ μ΄ν°λ₯Ό μ¬μ©νμ¬ κ΅¬νν μ μλ€.
SignalProducer([1, 2, 3])
.first()?.signal
.observe { event in
switch event {
case let .value(value):
print("ReactiveSwift First : \(value)")
case .failed:
print("ReactiveSwift First Error")
case .completed:
print("ReactiveSwift First Finish")
default:
break
}
}
// ReactiveSwift First : 1
// ReactiveSwift First Finish
μ°Έκ³
Last updated
Was this helpful?