저는 현재 AngularJS와 Firebase 사용법을 배우고 있습니다.AngularJS : firebase와의 약속 사용
필자는 Firebase와의 상호 작용을 처리하는 서비스를 설정 한 다음 다른 컨트롤러에서 사용되는 구조를 가지고 있습니다. 내 코드가 그것을 사용하려고 할 때로드되지 않는 데이터에 문제가 있습니다. 나는 주변을 둘러 보았고 나에게 약속은 해결책이라고 보인다.
app.controller('ExercisesCtrl', function ($scope, $location, $routeParams, Exercise) {
$scope.setExercise = function() {
// set current exercise
$scope.exercise = Exercise.find($routeParams.exerciseId).then(function() {
// do something with the loaded data
});
그리고 다음과 같습니다 서비스 :
나는 다음과 같습니다 컨트롤러가
app.factory('Exercise',function ($firebase, FIREBASE_URL) {
var ref = new Firebase(FIREBASE_URL + "exercises");
var exercises = $firebase(ref);
var exercise = {
all: exercises,
find: function (exerciseId) {
return exercises.$child(exerciseId)
}
};
return exercise;
을});
제 질문은 현재 솔루션을 변경하여 .then 또는 비슷한 것을 사용하여로드되기 전에 데이터 작업을 시작하지 않도록하는 방법입니다. 약속을 되 돌리는 서비스를 바꾸어야할지 모르겠다. 또는 컨트롤러를 채택하여 데이터가로드 될 때까지 기다릴 수 있습니까?
이 링크는 관련성이 높고 연결되어있는 것으로 보이지만 코드를 해당 구조로 변경해야하는지 또는 여기에서 진행해야하는지 확실하지 않았습니다. Difference between Firebase AngularFire implicit and explicit sync
조언을 제공해 주시면 감사하겠습니다.