您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么不推荐使用AngularJS $ http成功/错误方法?从v1.6中删除了吗?

为什么不推荐使用AngularJS $ http成功/错误方法?从v1.6中删除了吗?

问题在于,.success.error方法 因为它们 。这给熟悉 人带来了问题,并鼓励了不熟悉 人编写不好的代码

引用AngularJS团队之一:

IMO.success.errorAPI最初是API设计的劣势。此问题突出表明,在许多情况下,开发人员会感到困惑,因为他们期望.success.error以相同的方式工作,.then反之亦然。在一个理想的世界中,我宁愿放弃这些$http具体的“承诺”。相反,我们可以鼓励开发人员使用标准的$qPromise API .then.catch。与使用响应对象相比,与显式参数相比,IMO带来的好处很小。

— AngularJS第10508期$http .success/.error.then工作方式 不同。

$http传统方法的承诺success,并error已被弃用。请改用标准then方法。如果$httpProvider.useLegacyPromiseExtensions设置为,false则这些方法将引发$http/legacy错误

— AngularJS $ http服务API参考- 弃用通知

不推荐使用的.success.error方法已从AngularJS 1.6中删除

由于b54a39$http不推荐使用的自定义回调方法-.success().error()-已被删除。您可以改用标准.then()/.catch()诺言方法,但是请注意,方法签名和返回值是不同的。

$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;
    ...
  });

— AngularJS开发人员指南-迁移至v1.6-http

其他 2022/1/1 18:16:46 有567人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶