Как вернуть бизнес-объект из службы http get в angularjs (без функции обратного вызова и обещания в контроллере)
App.factory('XmlToJsonSvc', [ '$http', function($http) { return { get : function(path, callback) { $http.get(path, { transformResponse : function(data) { // convert the data to JSON and provide // it to the success function below var x2js = new X2JS(); var json = x2js.xml_str2json(data); return json; } }).success(function(data, status) { //console.log('Sucess'); callback(data); }) } } } ]);
Что я уже пробовал:
Я новичок в AngularJs. Может ли кто-нибудь помочь написать фабрику с использованием http-сервиса в angularJS, чтобы фабрика возвращала мне бизнес-объект вместо обещания или присвоения значения переменной scope при успешном выполнении? Я исследовал так много статей в интернете, но все они используют либо функцию обратного вызова, либо возвращают обещания из службы http. Требование: допустим, XMLtoJsonService-это моя фабрика, которая преобразует xml в json из локальной папки. фабрика должна быть возвращаемым бизнес-объектом, так что в моем контроллере я должен быть в состоянии использовать следующим образом / / контроллер
var obj = XMLtoJsonService.Имя_метода();
(Никакие обещания или функция обратного вызова не должны использоваться в контроллере)
Всю логику для преобразования обещание или функции обратного вызова могут быть использованы в Фабрике