https://developer.apple.com/documentation/combine/publishers says
"subscribe(on:) changes the execution context of upstream messages."
I did a little experiment.
Publishers.Just(1)
.map { _ in
print(Thread.isMainThread) // true
}
.subscribe(on: backgroundQueue)
.map { _ in
print(Thread.isMainThread) // false
}.sink {
print(Thread.isMainThread) // false
i expected false false false. but results was true false false
What does 'upstream' mean specifically?