在没有内存泄漏的情况下销毁promise并且不执行任何回调

时间:2015-03-17 19:16:29

标签: javascript angularjs memory-leaks q angular-promise

我使用$q来创建延迟对象。正常用例如下:

deferred.promise.then(success_callback, error_callback)

deferred.resolve() / deferred.reject()时,没有内存泄漏,因为执行了success_callback或error_callback。但现在我想破坏promise对象,这意味着我不想在没有内存泄漏的情况下调用deferred.resolve()deferred.reject()。我怎么能这样做?

修改 更清楚的是,我想忽略承诺的存在,我不想再执行success_callbackerror_callback。是的,也许我想取消注册回调。

1 个答案:

答案 0 :(得分:-1)

delete deferred.promise

在JS中生成内存泄漏有点困难,因为它具有自动内存清理功能;它发生的主要方式是两个彼此引用但没有相互引用的对象。