Ответ 1
Promises не устарели. Фактически, они в последнее время набирают довольно много импульса и включены в следующую версию JavaScript.
Посмотрите, что они говорят:
Эта библиотека breeze.angular.q устарела. Он заменяется услугой Breeze Angular, которая более точно настраивает бриз для разработки Angular.
Служба Breeze Angular сообщает Breeze использовать Angular
$q
для promises и использовать Angular$http
для вызовов ajax.
Что они говорят, что ветер использует Angular собственный promises для promises, а не его собственный breeze.angular.q
, который использует Q promises, которые более способны, но также намного тяжелее, чем $q
promises, которые Angular. Это просто изменение API.
Внутри кода Angular вы можете получить $q
с помощью инъекции зависимостей - например, с помощью простого синтаксиса:
myApp.controller("MyCtrl",function($q){
//$q is available here
});
В качестве альтернативы, если вы хотите использовать его самостоятельно, вы можете использовать местоположение службы и получить $q
непосредственно от инжектора, но это редко бывает. (Если вы хотите пример - сообщите мне, я бы просто не включил код, который обычно указывает на плохую практику).