AngularJS文档中有一个关于$http
success
和error
方法的弃用通知。是否有从库中删除此抽象的特定原因?
javascript使用与promise相关的模式只有。然后(成功回调,错误回调)
,所以他们的目标可能是使用js模式。
问题是.success
和.error
方法不可链接,因为它们忽略返回值。这给熟悉链接的人带来了问题,也鼓励了不熟悉链接的人编写糟糕的代码。见证StackOverflow上所有使用延迟反模式的示例。
引用AngularJS团队的一句话:
IMO。成功
和。错误
首先是一个糟糕的API设计。这个问题强调了一些开发人员感到困惑的情况,因为他们要么期望.成功
和.错误
以与.然后
相同的方式工作,要么反之亦然。在一个完美的世界里,我宁愿抛弃这些$超文本传输协议
特定的“promise”。相反,我们可以鼓励开发人员使用标准的$q
promiseAPI。然后
和。捕获
。与处理响应对象相比,使用显式参数的IMO几乎没有什么好处。
-AngularJS问题#10508$http
.success/.error
与的工作方式不同。
$超文本传输协议
遗留promise方法成功
和错误
已被弃用。改用标准的然后
方法。如果$nicpProvider.useLegacyPromiseExta
设置为false
,那么这些方法将抛出$超文本传输协议/遗留
错误。
-AngularJS$超文本传输协议服务API参考-弃用通知
已从AngularJS 1.6中删除了已弃用的
.成功
和.错误
方法。
由于b54a39,
$超文本传输协议
的不建议使用的自定义回调方法-。成功()
和。错误()
-已被删除。您可以使用标准的.然后()
/. cat()
promise方法,但请注意,方法签名和返回值是不同的。
$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-超文本传输协议
问题内容: AngularJS文档对 和方法都有弃用声明。从库中删除此抽象是否有特定原因? 问题答案: 问题在于,和方法 不可链接, 因为它们 忽略返回值 。这给熟悉 链的 人带来了问题,并鼓励了不熟悉 链的人编写不好的代码。 引用AngularJS团队之一: IMO 和API最初是API设计的劣势。此问题突出表明,在许多情况下,开发人员会感到困惑,因为他们期望并以相同的方式工作,反之亦然。在一个
问题内容: (此问题不同于您为什么要实现finalize()?此问题与从Java平台弃用有关,另一个问题与在应用程序中是否应使用此机制有关。) 为什么在Java 9中不推荐使用该方法? 是的,它可能以错误的方式使用(例如,从垃圾收集中保存对象(虽然仅一次)或尝试关闭其中的某些本机资源(总比不完全关闭要好))以及许多其他方法可能会被错误地使用。 那么,是真的如此危险或绝对没有用,有必要将其逐出Jav
问题内容: 根据API文档,伪指令的属性已弃用,因此将来,所有伪指令的行为都将使用当前默认值。 这消除了开发人员替换element指令的element的能力,而没有明显替代此功能的能力。 有关如何使用元素指令和不使用元素指令的示例,请参见此示例。 为什么不推荐使用此有用的属性而不进行替换? 问题答案: 在下一个主要的Angular版本中,将删除用于定义替换其所在元素的指令的标志。此功能具有难以理解
问题内容: 众所周知,Java 中的接口已损坏。造成这种情况的原因很多,我将不再赘述。其他人已经做到了。这也是Java架构师本身的立场。 因此,我的问题是:为什么还不被弃用?如果核心Java团队已确定它已损坏,那么他们还必须考虑过时。他们反对这样做的原因是什么(在Java 8中仍不建议弃用)? 问题答案: 有一个错误在1997年提交给Java的错误数据库有关添加方法,所以将不再是无用的。它以“无法
问题内容: 我曾经在hibernate 3中使用getHibernateTemplate(),现在我转向了Hibernate 4,在这里我找不到以下类: 在这里我已经阅读过有关它的更多信息,不建议使用 http://forum.springsource.org/showthread.php?117227-Missing-Hibernate- Classes-Interfaces-in-spring
问题内容: 我正在将hibernate项目配置为使用第二级缓存提供程序,以便可以利用查询缓存。 我向ehcache添加了一个依赖项: 我认为我要使用的提供程序类是: 在eclipse中查看引用的库时,我在和上都看到了注释。是什么赋予了?我可以使用最新的替代供应商吗? 我正在使用hibernate版本3.4.0.GA,以防万一。 问题答案: 是什么赋予了?我可以使用最新的替代供应商吗? 不推荐使用它