2016-09-18 2 views
0

Meteor에서 동기화 된 카운트 다운을 원합니다. 불행히도 그 값은 정적이지 않습니다. 일시 중지, 되감기, 추가 및 빼기 버튼이 백엔드에 있다고 가정 해 보겠습니다.Meteor에서 동기 카운트 다운을 만듭니다

이제 내 문제는 다른 연결된 클라이언트에게 현재 상태를 보내는 방법입니다. 나는 이런 컬렉션을 시도했지만 적어도 하나의 똑딱이를위한 컬렉션은 준비가되어 있지 않습니다. 의미는 2 번째 틱마다 매번 실행된다는 의미입니다.

Template.frontend.helpers({ 
    clock() { 
     return ClockSettings.find().fetch()[0]; 

    }, 
    runClock: (c) => { 
     setInterval(() => { 
      if(c) { 
       adjustClock(c); 
      } 
     }, 1000); 
    } 
}); 

은 어쩌면 내가 잘못 시작을 내장하지만 내 가정은 다른 컬렉션을 거치지 않고 모든 클라이언트를 통해 동기화 된 슈퍼 변수 같은 것을 만드는 것이 었습니다. 또는 나는 더 쉬운 접근법을 놓치고 있는가?

당신은 'ReactiveVar'

https://docs.meteor.com/api/reactive-var.html

가능한 구현 아래로 구현하려고한다

+0

"슈퍼 변수"? 컬렉션을 사용하지 않는 경우 클라이언트간에 동기화가 어떻게됩니까? –

+0

그게 내 생각이야. 이 방법이 모범 사례이거나 컬렉션과 함께 할 수있는 경우 컬렉션을 준비하고 동기화하는 방법을 알아야합니다. – Soundz

답변

1

:

let clock = new ReactiveVar() 

Tracker.autorun(function(){ 
    clock.set(ClockSettings.findOne()); 
}) 

이의 성능은 위의 solutiion보다 큰 것을 A의 어떤

관련 문제