Как внедрить API в угловую фабрику

0

Ну, я знаю, что javascript асинхронизируется. Поэтому, если я напишу свой код, как показано ниже, а затем я вызову его в контроллере, я получу '[]' в результате.

Но я получаю запрос http завершить его процесс, прежде чем делать что-либо еще. Или мои ионные приложения будут разбиты. Итак, как я могу это сделать?

var starter = angular.module('starter', ['ionic']); 

starter.factory('AllEvent', function($http) {
  var allEvent = [];
  $http.get('/api/event/new').success(function(data) {
    var allEvent = {
      all: function() {
        return data;
      },
      remove: function(Event) {
        $data.splice(data.indexOf(Event), 1);
      },
      get: function(_id) {
      for (var i = 0; i < data.length; i++) {
        if (data[i]._id === _id) {
          return data[i];
        }
      }
      return null;
      }
    };
  });
  return allEvent;
});

PS этот код является модифицированным кодом из шаблона вкладок в ионном.

Теги:
ionic-framework
callback

1 ответ

0

Почему вы используете ту же переменную, что и массив и объект?

var starter = angular.module('starter', ['ionic']);

starter.factory('AllEvent', function($http) {
    return {
        getNew : function(){
            return $http.get('/api/event/new').success(function(data) {
                return {
                    all: function() {
                        return data;
                    },
                    remove: function(Event) {
                        $data.splice(data.indexOf(Event), 1);
                    },
                    get: function(_id) {
                        for (var i = 0; i < data.length; i++) {
                            if (data[i]._id === _id) {
                                return data[i];
                            }
                        }
                        return null;
                    }
                };
            });
        }
    }
});

В контроллере

AllEvent.getNew().then(function(eventObj){
   eventObj.all();
})

Надеюсь, это сработает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню