According to AngularJS doc, calls to $http return the following:
Returns a promise object with the standard then
There are some good answers here already. But it's worthwhile to drive home the difference in parallelism offered:
success() returns the original promisethen() returns a new promiseThe difference is then() drives sequential operations, since each call returns a new promise.
$http.get(/*...*/).
then(function seqFunc1(response){/*...*/}).
then(function seqFunc2(response){/*...*/})
$http.get()seqFunc1()seqFunc2()success() drives parallel operations, since handlers are chained on the same promise.
$http(/*...*/).
success(function parFunc1(data){/*...*/}).
success(function parFunc2(data){/*...*/})
$http.get()parFunc1(), parFunc2() in parallel