[js] Observable Object

Observable 객체

아쉽게 MDN에서 정확한 문서를 찾지는 못했다. 하지만 연관있는 문서 몇개를 찾아서 링크를 남겨둔다 MDN Observer Api 문서 바로가기 모던 자바스크립트 Proxy 바로가기

Observable

위의 링크들을 남겨둔 이유는 Observable가 단어 뜻처럼 지속적으로 관찰 가능한 객체라는 의미이기 때문이다. 변경될 때마다 변경된 값을 비동기적으로 제공하겠다는 것을 구현해 놓은 객체라고 생각하면 된다.

자바스크립트에서는 1개 이상의 item을 처리할 때 async와 같은 방법을 사용한다. 여기서 promise 방식을 사용해 구현하면 단 하나의 data를 받고 종료되어 버리는 패턴을 가지고 있어, 데이터를 시간의 흐름에 따라 순차적으로 받아야 하는 상황이 생긴다면 promise를 사용해 처리할 수 없다.

Promise와의 차이점

promise와의 차이점은 취소가 가능하다는 것인데 Observable은 순차적으로 데이터를 받아 처리하기 때문에 취소할 수가 있다.

이는 다수의 비동기적인 값들을 방출할 때 사용된다.

Observable의 특성

Observable의 사용 용도