2012-10-07 2 views
3

컬렉션에서 항목을 표시하기 전에 유성은 업데이트없이 클라이언트 창을 떠나는 일부 처리를 수행하는 것 같습니다. 합리적인 기계에서 서핑을하면 http://madewith.meteor.com에 살고있는 것을 볼 수 있습니다. 내 2.6GHz 4GB RAM 랩톱은 목록에있는 항목을 렌더링하는 데 약 5 초가 걸리며 진행되는 동안 아무런 표시가 없으며 서둘러 새로운 사용자가 페이지로드가 완료되었다고 합리적으로 판단 할 수 있습니다.유성우 모음을 표시하기 전에 지연을 최소화하려면 어떻게해야합니까?

점진적으로 컬렉션에서 항목을 표시 할 수있는 방법은 새로운 아이템을 수신하는 동안, 서버는 와이어에 클라이언트에 데이터의 첫 번째 항목을 밀어하고 브라우저를 렌더링하도록 있나요? HTTP의 chunked transfer과 비슷합니다.

또는 https://atmosphere.meteor.com/가하는 일 (이하 "스마트 뭔가를하고"메시지)와 유사한 컬렉션을로드하는 동안 회 전자의 그래픽을 표시 할 수있는 유일한 해결책은?

+0

별로 의미가 없습니다. 너무 많은 것을 의미 할 수 있습니다. 어쩌면 당신이 그것을 [tag : incremental-display] 또는 다른 것으로 바꾸는 것이 더 낫겠습니까? – Tshepang

답변

1

당신이 madewith 응용 프로그램의 XHR을 살펴보면, (이 순간에 87) 모두 같은 요청에 부하를 애플 리케이션 것을 볼 수 있습니다. 그래서 저는이 경우 데이터를 표시하는 점진적으로 도움이되지 않을 것이라고 생각합니다.

문제는 그냥 유성 애플리케이션이 초기화 데 시간이 걸릴 것입니다. 이것이 미래에 개선 될 수있을 지 확신 할 수 없지만, 현재로서는, 스피너를 표시하는 것이 최선의 해결책이라고 생각합니다.

데이터 준비 시점을 아는 방법은 컬렉션에서 onReady 콜백을 사용하거나 PR에서 더 나은 해결책을 찾으실 수 있습니다.

+0

증분 디스플레이는 HTTP의 [chunked transfer] (http://en.wikipedia.org/wiki/Chunked_transfer_encoding)와 유사한 메소드를 의미합니다. 클라이언트는 컨텐츠 전송을 기다릴 필요가 없습니다. –

+0

흠 .. 보내진 HTML은 매우 간단합니다. JS는 길고 복잡하다. (이것은 'livedata-connection'초기화에 걸리는 시간과 함께 의심 할 여지가 없다.) 하지만 브라우저가 증분 JS 로딩을 지원하는지 확신 할 수 없습니까? –

관련 문제