- a) Jaka jest różnica między
$http
i$q
? - b) Kiedy należy wykonać
$q
przez$http
i odwrotnie? - c) Kiedy i najlepsza praktyka dla urządzenia
$http
i$q
w tym samym czasie?
Odpowiedz
a) $http
wykonuje żądania HTTP w sposób asynchroniczny, co oznacza, że nie można mieć pewności co do czasu otrzymania odpowiedzi z serwera. $q
to usługa, która umożliwia wykonywanie wielu asynchronicznych zadań jeden po drugim. To znaczy, że koncepcyjnie nie mają ze sobą nic wspólnego.
b) Rozważmy sytuację, w której chcesz mieć wiele asynchronicznych wywołań HTTP do serwera. Możesz mieć możliwość zagnieżdżenia każdego z tych połączeń (na przykład nawiązanie drugiego połączenia w oddzwanianiu powodzenia pierwszego połączenia). Jednak znajdziesz się w sytuacjach, w których masz różne ilości połączeń. Następnie można użyć kodu $q
, aby ominąć kod zagnieżdżenia.
c) Za każdym razem, gdy masz jedno połączenie HTTP, powinieneś użyć $http
. Ilekroć masz wiele połączeń, powinieneś użyć $q
.
a)
$ = http kątowa usługa dostępu do serwera za pośrednictwem protokołu HTTP.
$ q = usługa kątowa wdrażająca kris kowalkis q biblioteka https://github.com/kriskowal/q. Oboje są usługą kątową, ale nie mają ze sobą nic wspólnego.
b)
$ http używa $ q, aby zapewnić defered dostępu (obietnice). Ale nie znam sytuacji, w której używałbym $ q powyżej $ http. O ile chcesz tworzyć żądania http.
c)
$ http używa $ q. Są więc zawsze używane razem. Tak długo, jak chcesz tworzyć żądania http.
Jedna to biblioteka http, druga to biblioteka obietnic. '$ http' używa pod spodem' $ q'. –
(a) Śledzić: wszystko, (b) patrz (a) –