无论是发布还是删除等都无关紧要。我会写这个:
$http({
method: ''
url: '',
data: '',
headers: ''
}).success(function(data, status, headers, config) {
//whatever happens on success
}).error(function(data, status, headers, config) {
//whatever happens on failure
});
执行上述操作或执行此操作之间的区别是什么:
$http({
method: ''
url: '',
data: '',
headers: ''
}).then(function(response) {
//success
},
function(response) {
//failed
};
有人比其他人有优势吗?一个人来晚了,并没有太大的区别? 只是想知道真正的差异以及人们喜欢使用的内容以及原因。
答案 0 :(得分:0)
来自$http docs:
使用标准then方法和两个http返回一个promise对象 具体方法:成功与错误。那么方法需要两个 参数成功和错误回调将使用a调用 响应对象。成功和错误方法只需一个参数 - 分别在请求成功或失败时调用的函数。传递给这些函数的参数是 传递给的反应对象的结构化表示 然后方法。
这意味着您发布的两个示例实际上都是相同的,因为.success(function () { ... })
和.error(function () { ... })
只是.then(function () { ... })
和`.then(null,function(){...的别名}),分别。
答案 1 :(得分:0)
我相信.then()
语法后来出现了,因为所有内容都在$ q API上标准化了。 .success()
和.error()
可能是为了向后兼容而留下的。
请参阅Changelog获取0.10.6,其中“$ xhr服务已被$ http替换为基于承诺的apis。”