: Observable과 observer의 역할을 모두 수행합니다.
: 빈 상태로 시작하여 새로운 값만을 subscriber에 방출
구독(subscribe)한 이후의 모든 이벤트를 받습니다.
: 하나의 초기값을 가진 상태로 시작하여, 새로운 subscriber에게 초기값/최신값 을 방출
publishSubject와 달리 구독 이전에 이벤트가 발생하였더라도
직전의 이벤트를 받습니다.
: 버퍼를 두고 초기화하며, 버퍼 사이즈 만큼의 값들을 유지하면서 새로운 subscriber에게 방출
구독을 방출된 이후에 하였더라도
버퍼사이즈(여기서는 marble 2개)만큼의 구독 이전 이벤트를 받습니다.
구독 이후 이벤트는 버퍼에 상관없이 모두 받음
: 소스 Observable의 마지막 값을 방출
소스 Observable이 완료된 이후에 마지막 값을 방출합니다.
만약 소스 Observable이 오류로 종료되었더라도
AsyncSubject는 오류를 받아 방출합니다.