Obecnie używam $ usługę q od kątowe do wykonywania połączeń API jak to:
var deferred = $q.defer();
$http.get(config.apiHost + details.url)
.success(function (data) {
deferred.resolve(data);
}).error(function (msg) {
deferred.reject(msg);
});
return deferred.promise;
ale możemy również skorzystać z tej metody również bez użycia $ q:
return $http.get(config.apiHost + details.url)
.success(function (data) {
return data;
}).error(function (msg) {
return msg;
});
i jak $ http sama zwraca obietnicę, mogę również użyć bardziej uproszczone podejście:
$http.get(config.apiHost + 'posts')
.success(function (data) {
console.log(data)
}).error(function (msg) {
console.log(msg);
});
Jaka jest różnica między tymi wszystkimi między $ q i $ http, ponieważ obie obietnice powracają, a obie są asynchroniczne? Czy kątowe zapewnia dodatkową funkcjonalność za pomocą $ q? Nie mogę znaleźć żadnej dobrej odpowiedzi.
Możesz zwrócić obietnicę z innymi asynchronicznymi operacjami za pomocą $ q. $ http zwraca obietnicę z wywołań AJAX. – Hoyen
inne operacje, takie jak? –
Podobnie jak czytanie plików lub jeśli chcesz użyć $ timeout – Hoyen