您好任何人都可以帮我解决角度Js中的这种服务呼叫方法。
Success函数和Then函数有什么区别?
在哪种情况下使用哪种功能
答案 0 :(得分:4)
根据文档:https://docs.angularjs.org/api/ng/service/$http
.then()
函数是在解析promise时注册回调的标准方法 - 请参阅https://docs.angularjs.org/api/ng/service/$q以获取角色的承诺实现。
$http
返回的承诺是对响应的承诺:
$http.get('http://example.com').then(function successCallback(response) {
response.data, response.status, and so on
})
通常,您需要的所有响应只是数据。通过.success()
注册的回调只会收到data
:
$http.get('http://example.com').success(function successCallback(data) {
data.??? depending on what you return
})
答案 1 :(得分:2)
在angular.js中,我们有 $ http 和 $ q ,两者都返回承诺对象。
$ httpPromise 与 $ q.defer()。承诺之间的主要区别在于 $ http 为您提供了两个以上的功能成功和错误。 所以你不能对返回$ q.defer()。promise的函数使用成功和错误。
$ http的上下文中的一个区别是Sacho如下所述。