AsyncSubject only emits the last value of the source observable (Observable it listens on), and the last emission only. To say things more clearly, AsyncSubject will emit the last value it got, and will emit it only one time.
This is a marble diagram for AsyncSubject, which has been taken from ReactiveX documentation (http://reactivex.io/documentation/subject.html):
Let's consider the following code example:
fun main(args: Array<String>) { val observable = Observable.just(1,2,3,4)//1 val subject = AsyncSubject.create<Int>()//2 observable.subscribe(subject)//3 subject.subscribe({//4 //onNext println("Received $it") ...