service.jsWarum ist das keine Funktion?
.factory('EventService', function($http, $cordovaSQLite) {
return {
//some code here..
populateData: function(data) {
var items = [];
for (i = 0; i < data.length; i++) {
items.push(data[i]);
}
return items;
}
}
})
controller.js
.controller('NearCtrl', function($scope, $http, $cordovaSQLite, EventService) {
EventService.getDataFromDB().then(function(result) {
if (result.length > 0) {
EventService.populateData(result).then(function(items) {
$scope.items = items;
})
} else {
EventService.getDataFromApi().then(function() {
EventService.getDataFromDB().then(function(result) {
EventService.populateData(result).then(function(items) {
$scope.items = items;
})
})
})
}
});
})
Wenn ich versuche, diesen Code auszuführen, erhalte ich „Typeerror: EventService.populateData (...). ist dann keine Funktion
Was mache ich falsch? Vielen Dank.
'populateData' kehrt nicht ein Versprechen, Sie nicht bekommen' then' standardmäßig alles angebracht. es ist ein Teil des Versprechensobjekts. Sie müssen nur '$ scope.items = EventService.populateData (result)' eingeben – PSL