2015-05-28 27 views
5
  • 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?
+2

Jedna to biblioteka http, druga to biblioteka obietnic. '$ http' używa pod spodem' $ q'. –

+1

(a) Śledzić: wszystko, (b) patrz (a) –

Odpowiedz

5

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.

1

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.