假设以下代码:
var deferred = $.Deferred();
deferred.done(function(){
// do something with events, references to dom, etc...
});
deferred.fail(function(){
// do something with events, references to dom, etc...
});
Run Code Online (Sandbox Code Playgroud)
如果我从不结束调用,resolve()
或者fail()
这会导致内存泄漏,因为我在回调中保留引用?
如果我打电话给一个,而不打另一个,那么另一个会被垃圾收集吗?所以,如果我打电话fail()
,jquery将摆脱done()
?
我可能完全错了,但想澄清一下.到目前为止我找到的最接近的是这个我总是调用JQuery Deferred.resolve或Deferred.reject?.但是用例有点不同,因为在该示例中,用户从未定义过回调fail()
.
我也遇到过这个问题,jQuery deferreds会被取消吗?,但我不是想取消一个deferred
.
我知道这不是最佳做法,但出于问题的目的,我仍然很好奇它是否会引起记忆问题.
谢谢,