Avatar
もしこれがコマンドラインで実行して終了するプログラムなら、メインスレッドで実行されているので DispatchQueue.main だとプログラム終了まで結果が返ってこないと思います。
11:06 AM
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)
11:07 AM
↓だと返ってきます。 import Combine import Dispatch Just(2) .subscribe(on: DispatchQueue.global()) .sink( receiveCompletion: { print("completion:", $0) semaphore.signal() }, receiveValue: { print("value:", $0) }) .store(in: &subscriptions)
11:07 AM
しかし、 combineLatest を入れると DispatchQueue.global() でも返ってきません。
11:08 AM
combineLatest についてはまだ調べられてません。