약속과 관련된 작은 문제가 있습니다. 나는 실행 루프가 내 문제를 해결할 수 있다고 확신하지만 여전히 너무 조금 애매하다. 문제 : 여기에는 몇 초가 걸릴 수있는 무거운 아약스 호출을 수행하는 구성 요소가 있습니다. 약속이 해결되면 데이터를 그래프로 렌더링 할 수 있도록 데이터를 구성 요소로 설정합니다. 문제는 그동안 사용자가 새 페이지로 이동하면보기 (및 모든 구성 요소)가 파괴되고 약속이 해결되면 아직 존재하지 않는 개체로 설정하려고 시도한다는 것입니다. 그리고 붐, 나는 "파괴 된 개체 오류를 설정하려고 시도했다". 여기에 방법의 작은 부분이라고 그 때 약속 해결 :EmberJS :보기가 삭제 될 때 콜백을 약속 하시겠습니까?
updateChart: function(timeframe, interval) {
var self = this;
var method = 'get' + this.get('type').capitalize();
this.set('isLoading', true);
this.get('slowService')[method](this.get('project')).then(function(result) {
Ember.run(function() {
self.set('isLoading', false);
});
self.set('data', result);
});
},
감사합니다 많이!
최종 Ember.run 내부에서 self.get ("isDestroyed")를 확인하려고합니다. –
감사합니다. 그것은 작동하지만 실제로 데이터와 Ember.run 내부의 체크를 추가해야합니다. 더 좋은 방법이 없을까요? –