Я хотел бы сделать запрос к моему серверу в фильтре и вернуть результат моего запроса. Проблема заключается в том, что сервис $ http возвращает обещание, и это проблема.
На сегодняшнем вопрос я использовал $ таймаут и обещание углового в моей скрипке: my fiddle
В моем фильтре я использую $ таймаут с обещанием, но конечная цель состоит в том, чтобы использовать запрос HTTP:
myApp.filter('filterHello', function ($http,$timeout,$q) {
return function (company_id) {
console.log("in the filter");
var deferred = $q.defer();
$timeout(function() {
deferred.resolve("ca marche");
}, 2000);
return deferred.promise;
};
});
Тогда на мой взгляд, я использую свой фильтр, который предполагают, чтобы отобразить «ча Marche» с задержкой 2 secondes, но это не работает:
<div ng-controller="MyCtrl">
{{hello|filterHello}}
</div>
Вы можете видеть, что обратный фильтр ничего и что в фильтре есть бесконечный цикл из-за нулевого обещания, который я думаю.
Если вы не понимаете, почему я хочу использовать запрос http в фильтре, ответ прост. Например, у меня есть пользователь объекта с полями: email, name, company_id .. И у меня есть другая компания-объект с полями: name, createOn, ... Я бы хотел использовать фильтр, подобный этому, для отображения название компании пользователя:
{{user.company_id | ShowNameCompany}}
Итак, мне нужно сделать запрос http в фильтре моему контроллеру моей бэкэнда.
Я надеюсь, что кто-то может мне помочь.
Post код, который вы пытались пожалуйста –
ссылки вашей скрипки –
Фильтров огнь МНОГО! Для достижения вашей цели должен быть более удобный метод измерения пропускной способности. –