DispatchQueue.main
だとプログラム終了まで結果が返ってこないと思います。combineLatest
に関係なく↓だと返ってきません。 import Combine import Dispatch Just(2) .subscribe(on: DispatchQueue.main) .sink( receiveCompletion: { print("completion:", $0) semaphore.signal() }, receiveValue: { print("value:", $0) }) .store(in: &subscriptions) semaphore.wait()
(edited)import Combine import Dispatch Just(2) .subscribe(on: DispatchQueue.global()) .sink( receiveCompletion: { print("completion:", $0) semaphore.signal() }, receiveValue: { print("value:", $0) }) .store(in: &subscriptions)
combineLatest
を入れると DispatchQueue.global()
でも返ってきません。combineLatest
についてはまだ調べられてません。