-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Open
Description
Short description of the issue:
1 Case
Looks like .do(onSubscribed:) and .do(onSubscribe:) don't respect .observe(on:).
example:
Observable<String>.just("1")
.observe(on: SerialDispatchQueueScheduler(internalSerialQueueName: "observe"))
.do(onSubscribed: {
print("do, isMain ==> \(Thread.isMainThread), DispatchQueue ==> \(DispatchQueue.name())")
})
.subscribe(onNext: { _ in
print("subscribe, isMain ==> \(Thread.isMainThread), DispatchQueue ==> \(DispatchQueue.name())")
})result:
do, isMain ==> true, DispatchQueue ==> main-thread
subscribe, isMain ==> false, DispatchQueue ==> observe
expected:
do, isMain ==> false, DispatchQueue ==> observe
subscribe, isMain ==> false, DispatchQueue ==> observe
2 Case
Also might be related:
Looks like .do(onSubscribed:) and .do(onSubscribe:) don't respect .subscribe(on:) if it is above do statement.
example:
Observable<String>.just("1")
.subscribe(on: SerialDispatchQueueScheduler(internalSerialQueueName: "subscribe"))
.do(onSubscribed: {
print("do, isMain ==> \(Thread.isMainThread), DispatchQueue ==> \(DispatchQueue.name())")
})
.subscribe(onNext: { _ in
print("subscribe, isMain ==> \(Thread.isMainThread), DispatchQueue ==> \(DispatchQueue.name())")
})result:
subscribe, isMain ==> false, DispatchQueue ==> subscribe
do, isMain ==> true, DispatchQueue ==> main-thread
expected:
subscribe, isMain ==> false, DispatchQueue ==> subscribe
do, isMain ==> false, DispatchQueue ==> subscribe
Metadata
Metadata
Assignees
Labels
No labels