신뢰할 수없는 연결 (예 : 모바일)에서 계속 작동하는 각도 애플리케이션을 제작하려고합니다.순환 종속성 오류없이 angularjs 서비스간에 데이터를 공유합니까?
는 지금까지 (예를 들어) 내 각 모델에 대한 서비스가 있습니다
- 클래스
- 학생
- 학년
각 모델의 새로운 인스턴스를 생성 할
문제는 동기화 서비스에 연결하려고 할 때 발생합니다. 이상적으로 클래스, 학생 및 학년 서비스는 동기화 서비스에 액세스해야하며 그 반대의 경우에도 새 객체를 동기화 서비스에 전달할 수 있어야합니다. 그러면 동기화 서비스는 서버에 접속할 때 해당 서비스에서 모델을 직접 업데이트 할 수 있습니다. 신분증. 내가 서비스를 서로에게 주입하려고하면 순환 종속성 오류가 발생합니다.
이러한 서비스간에 데이터를 공유하려면 어떻게해야합니까? 나는 각각의 개별 서비스에 걸쳐 모델을 동기화하기 위해 코드 복제를 피하고 싶다. (많은 수의 요청을 의미 할까?)
편집 :
가 여기에 내가 달성하고 싶은 무엇을 simplfied 예입니다 :angular.module('App')
.service('sync', function sync(students) {
var objectsToBeSynced = [];
function resync() {
// $http() to process and manage the pending objects
/**
* If request returns success, write into students.students[newIdFromServer] = students.students[oldId];
* then delete students.students[oldId];
*/
setTimeout(resync, 10000);
}
this.addToSync = function(object) {
objectsToBeSynced.push(object);
}
}
angular.module('App')
.service('students', function students(sync) {
var students = [];
this.students = students;
this.addStudent = function(student) {
sync.addToSync(student);
}
}
내가 당신의 대답을 이해 모르겠어요 - 내가 '무엇을 간단한 예제와 함께 내 질문에 업데이트 나는하려고 애쓰다. 다른 모습을 보거나 다시 설명해 주시겠습니까? – Anonymous