我使用$q
来创建延迟对象。正常用例如下:
deferred.promise.then(success_callback, error_callback)
当deferred.resolve() / deferred.reject()
时,没有内存泄漏,因为执行了success_callback或error_callback。但现在我想破坏promise对象,这意味着我不想在没有内存泄漏的情况下调用deferred.resolve()
或deferred.reject()
。我怎么能这样做?
修改
更清楚的是,我想忽略承诺的存在,我不想再执行success_callback
或error_callback
。是的,也许我想取消注册回调。
答案 0 :(得分:-1)
delete deferred.promise
在JS中生成内存泄漏有点困难,因为它具有自动内存清理功能;它发生的主要方式是两个彼此引用但没有相互引用的对象。