phi*_*are 56 angularjs angularjs-http angularjs-1.6
AngularJS文档有关于$http success和error方法的弃用通知.这个抽象是从库中删除的具体原因吗?
geo*_*awg 82
问题是,.success和.error方法都没有可链接的,因为他们忽略了返回值.这给熟悉链接的人带来了问题,并鼓励不熟悉链接的人编写错误的代码.见证StackOverflow上使用延迟反模式的所有示例.
引用一个AngularJS团队:
IMO
.success并且首先.error是一个糟糕的API设计.这个问题强调了很多,开发人员感到困惑,因为它们要么期望的情况.success,并.error以同样的方式工作的.then,反之亦然.在一个完美的世界里,我宁愿放弃这些$http具体的"承诺".相反,我们可以鼓励开发人员使用标准的$qpromise API.then和.catch.与使用响应对象相比,IMO在处理显式参数方面几乎没有什么好处.
弃用通知(v1.5)
在
$http传统方法的承诺success,并error已被弃用.请改用标准then方法.如果$httpProvider.useLegacyPromiseExtensions设置为false那么这些方法将抛出$http/legacy错误.
不推荐使用.success和.error方法已经从AngularJS 1.6去除.
由于b54a39,
$http已弃用的自定义回调方法 -.success()并且.error()- 已被删除.您可以使用标准.then()/.catch()promise方法,但请注意方法签名和返回值是不同的.Run Code Online (Sandbox Code Playgroud)$http(...) .then(function onSuccess(response) { // Handle success var data = response.data; var status = response.status; var statusText = response.statusText; var headers = response.headers; var config = response.config; ... }).catch(function onError(response) { // Handle error var data = response.data; var status = response.status; var statusText = response.statusText; var headers = response.headers; var config = response.config; ... });
| 归档时间: |
|
| 查看次数: |
36865 次 |
| 最近记录: |