Я написал угловую службу, querys БД и должен возвратить Категории:Возвращение значения в AngularJS
(function() {
'use strict';
angular.module('budget')
.service('CategoriesService', ['$q', CategoriesService]);
function CategoriesService($q) {
var self = this;
self.loadCategories = loadCategories;
self.saveCategorie = saveCategorie;
self.datastore = require('nedb');
self.db = new self.datastore({ filename: 'datastore/default.db', autoload : true});
function saveCategorie (categorie_name) {
var entry = {name: categorie_name,
type: 'categorie'}
self.db.insert(entry);
};
function loadCategories() {
self.db.find({type: 'categorie'}, function (err, docs) {
var categories = docs;
return categories;
});
};
return {
loadCategories: self.loadCategories,
saveCategorie: self.saveCategorie
};
}
})();
Когда я console.log внутри function loadCategories()
он возвращает мне массив из 6 объектов (объекты база данных), но вне функции она просто дает мне undefined
.
Я звоню через контроллер с CategoriesService.loadCategories()
Так что я думаю, что я мог бы сделать что-то РВП называется promise
но Iam не уверен в этом.
Как я могу получить фактические данные из этой службы?
Вы правы, нуждающихся в обетование. Прочтите это: https://docs.angularjs.org/api/ng/service/$q –