asynchronous代码是否导致内存泄漏?

我担心asynchronous操作是否容易发生内存泄漏。 我的上下文是在前端使用Javascript和后端(node.js)

execute操作中,创build代表IResponder 。 它具有对主要模块的参考,以及successfault方法。

asyncOperation执行asyncOperation并调用IResponderresultfault方法。

我的问题是:我希望exampleModule被释放在主程序的末尾,因为我看到有一些循环引用进行封闭等。请告知或确认。

  execute: function() { var self = this; function IResponder() { this.result = function(data) {self.result(data)}; this.fault = function(info) {self.fault(info)}; } var exampleModule = new ExampleModule(); exampleModule.asyncOperation(new IResponder());//calls back result or fault of IResponder }, success: function(data) { //is exampleModule deallocated here? }, fault: function(info) { // //is exampleModule deallocated here? } 

循环引用不会为优秀的JavaScript垃圾收集器带来问题。

在这种情况下,当你的对象成为符合条件的解除分配时,取决于ExampleModule何时让它引用IResponder