저는 엠버 응용 프로그램을 구축 중이며 저장소를 호출 할 때와 동일한 문제가 계속 발생하지만 저장소가 데이터를 검색하기 전에 함수가 계속 컴파일됩니다 백엔드에서. 특히 findRecord에 문제가 있습니다.Ember.js - 저장소가 완료되기 전에 함수가 완료되었습니다.
var admin = this.store.findRecord('admin', 1);
console.log(admin.get('season'));
console.log('Are we here?');
와 두 경우 모두
this.store.findRecord('admin', 1).then(function(admin) {
console.log(admin.get('season'));
});
console.log('Are we here?');
의
Are we here?
시즌 전에 기록됩니다 나는 그것을 두 가지를 구현했습니다. 당연히 콘솔 로그는 예제를위한 것일 뿐이며, 실제로 수행하려는 작업과 관련된 실제 문제를 만듭니다. 누구든지이 지연에 대한 간단한 해결책을 알고 있습니까?
감사합니다.
가능한 복제본 [비동기 호출에서 응답을 반환하는 방법] (http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous- 호출) –
[비동기 호출에서 응답을 반환하는 방법] 참고 (http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) 중복 값은 반환 값을 사용하지 않아도 적용됩니다. 비동기 함수에서 반환 된 후에도 여전히 문제가 발생할 것으로 예상됩니다. –
Ember Data의 API 중 일부는 ** 동기식 **이므로 즉시 반환되는 값을 의미합니다. 예를 들어,'peekRecord'. 'findRecord'는 ** 비동기 **입니다. 즉, 약속을 반환하고, 모든 처리는'then' 절 내에서 이루어져야합니다. –