Ember Data를 사용하기에 적합하지 않은 것으로 보이는 기존 API에서 Ember CLI를 사용하여 데이터를로드하려고합니다. 이 데이터는 일반적으로 페이지가로드 된 후 앱 전체의 여러 위치에서 다시 사용될 때로드됩니다. 나는이에 대한 서비스 'legacy_data'을 만들었습니다emberjs를 사용하여 지연된 서비스를 사용할 수 있습니까?
import Ember from 'ember';
export default Ember.Service.extend({
ready: null,
legacy_data: null,
init(){
this.ready = Ember.$.ajax(...).done(function(legacy_data){
this.set('legacy_data', legacy_data);
}
computed_attr: Ember.computed('legacy_data', function(){ ... },
...more functions and computed attributes
});
때문에 '초기화하기'기능이 약속 반환을 지원하지 않는 것 같습니다 (경로에 모델 후크처럼 않습니다), 나는이 서비스를 사용할 때마다, 나는 이런 식으로 뭔가를 할 필요가 :
실제로 내 코드베이스에서 추가 약속 처리의 전체 무리와 함께 끝을 의미injected_service.ready.then(function(legacy_data){
... use service
});
-이 일에 현재에 수영하고있다처럼 느낀다.
더 좋은 방법이 있나요? 아마도 지연된 서비스 초기화를 지원하는 라이프 사이클 훅이나 팩토리/이니셜 라이저 일 수도 있습니다. 따라서 코드베이스의 다른 곳에서도 걱정할 필요가 없습니까? 이니셜 라이저가 이것을 지원합니까? 나는 그것의 어떤 예에서도 그것을 보지 못했다. 이 문제를 해결하기위한 또 다른 방법이 있습니까? (엠버 데이터는 어떻게 든이 같은 문제를 처리해야하지만 프레임 워크를 처음 사용하므로 확실하지 않습니다.)
도움 주셔서 감사합니다.