$ http和$ q有什么区别?

时间:2015-05-28 16:17:00

标签: angularjs angular-promise angular-services angular-http

  • a)$http$q之间有什么区别?
  • b)何时应$q实施$http,反之亦然?
  • c)同时实施$http$q的时间和最佳做法?

2 个答案:

答案 0 :(得分:7)

a)$http以异步方式执行HTTP请求,这意味着您无法确定从服务器获得答案的时间。 $q是一种服务,它使您能够一个接一个地执行多个异步任务。据说他们在概念上没有任何共同点。

b)考虑一种情况,您希望对服务器进行多次异步HTTP调用。您可以嵌套每个调用(例如,在第一次调用的成功回调中进行第二次调用)。但是,您会发现自己遇到了各种不同的呼叫。然后,您将使用$q来规避嵌套代码。

c)每当您进行一次HTTP呼叫时,您应该使用$http。每当您拨打多个电话时,都应使用$q

答案 1 :(得分:1)

A)

$ http =通过http协议访问服务器的角度服务。

$ q =实施kris kowalkis q library https://github.com/kriskowal/q的角度服务。 它们都是有角度的服务,但没有别的共同点。

b)中

$ http使用$ q来提供deferred访问(promises)。但我不知道我会用$ q超过$ http。就你想要发出http请求而言。

c)中

$ http使用$ q。所以它们总是一起使用。只要你想发出http请求。