Member 12783584 Ответов: 0

Как вернуть бизнес-объект из службы 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.Имя_метода();
(Никакие обещания или функция обратного вызова не должны использоваться в контроллере)


Всю логику для преобразования обещание или функции обратного вызова могут быть использованы в Фабрике

0 Ответов