기본 콘텐츠로 건너뛰기

라벨이 realtime인 게시물 표시

Meteor 경량 Reactive package - ReactiveVar를 사용해보자.

예전 글인 Session으로 Reactive 실시간 타이머에 대한 성원에 힘입어 추가로 하나 더. http://meteorpad.com/pad/LybNGiNShhNvjCBPD/timeAgo-reactiveVar  예제를 보자. 나머지는 다 비슷하고 Session 이 아니라 reactive-var package를 사용했다. meteor add reactive-var 로 추가할 수 있다. Session과 다른 건 비슷하고 key,val 형식이 아니고 Hot code push를 통해 값을 보존할 수 없으며 Global Scope 가 아니다. 사실 이것 때문에 쓴다고 봐도 된다. Session은 사실 클라이언트의 부담을 주기 때문에 무분별하게 사용하는 것은 좋지 않다. var count = new ReactiveVar(Random.id()); 와 같이 직접 선언해주고 count.set(value),  count.get() 으로 사용하면 된다. 눈치채신 분들도 있을지 모르겠는데  http://meteor.github.io/blaze/  의 Blaze.Var 하고 아주 비슷하다. http://docs.meteor.com/#/full/reactivevar 내용을 참조하면 된다. 구현도 아주 간단해서 https://github.com/meteor/meteor/blob/master/packages/reactive-var/reactive-var.js#L37 메뉴얼 대신 봐도 될 정도. 그러고보니 예전엔 Deps를 꽤 중요하게 강조했던 때도 있었는데 Tracker로 바뀌면서 이런 패키지를 만들었나보다. 재미있는 것은 Optional로 ReactiveVar를 생성 시 두번째 인자인 equalsFunc 에 function을 정의할 수 있는데 이것이 true를 반환하면 set 할때 Reactive 가 작동하지 않는다. 가볍고 고성능인 패키지이니 Session이 넘쳐난다고 있다면 성능을 높이기 위해 한번 써보자....