我将角度版本1.2.4迁移到1.4x。但是我在$ q服务中面临问题。 以下是我的代码:
<1.2>版本1.2xvar deferred=$q.defer();
其中deferred.promise
包含以下函数对象:
catch
,finally
和then
在版本1.4x中,这已更改为$$state
如果有人遇到类似的问题。请分享你的想法..
答案 0 :(得分:0)
在版本1.3.0-beta.18中取得了性能提升。
commit responsible有以下说明:
perf($ q):将Deferred和Promise方法移动到原型
注意:延迟并没有获得将方法移动到原型的所有优点, 因为构造函数将实例方法绑定到&#34;这个&#34;支持无限制的执行。
关闭#8300
这是为了提高性能,因为类的所有实例共享相同的原型,而如果你将它们作为每个实例的属性,浏览器必须为每个实例的函数分配内存,而不仅仅是一次。
答案 1 :(得分:0)
我只检查deferred
属性,它仍然有三个函数catch
,finally
和then
。 state
是一个属性。当我检查对象层次结构时,这些方法似乎现在在原型上定义。