2016-09-18 3 views
-1

loading.hbs 템플릿을 사용하는 Emberjs "로딩 경로"시스템을 사용하고 있으며 모든 것이 잘 작동합니다.Ember, 로딩 상태, 로딩 템플릿 지연, 타임 아웃

이제로드 뷰가 표시되기 전에 약 1 초가 지연 될 필요가 있습니다.

가끔 내 쿼리가 정말 빨라서 로딩 템플릿을 5ms 만 볼 수 있기 때문에 이것은 아름답 지 않습니다.

어떻게 수행하나요?

예 :

내 모델 쿼리로드 시간이 걸리는

, 좋아, 나는 1 초를 기다린 후에 만 ​​1 초 내가 (약속 I라는 경로의 결의에 다음과)로드 템플릿을 보여줍니다.

어떻게 지연을 우아하게 설정할 수 있습니까?

+0

어디에서 아약스 요청을합니까? 경로의 모델 훅에 보관하여 페이지가 아약스 요청을 해결할 수 있도록 렌더링되지 않게하십시오. 이 시간 동안 loading.hbs가 표시됩니다. 이것이 당신이 찾고있는 것입니다. – kumkanillam

+0

아니요, 저는 제 질문을 수정합니다. 로딩 템플릿을 표시하기 전에 지연이 필요합니다. 로딩 시간이 너무 빨라서 5ms로드가 너무 좋지 않기 때문에로드가 자주 발생하기 때문입니다. –

답변

1

원하는 지연으로 Ember.run.later을 사용하여 시간 초과를 설정하고 콜백 기능에서 약속을 반환 할 수 있습니다.

model() { 
    return new Ember.RSVP.Promise(() => { 
    Ember.run.later(function() { 
     return this.store.query('my-object'); 
    }, 3000); 
    }); 
}, 
+0

아니, @ 아흐메드, 이건 내가 요구 한 와우가 아니야. –