jQuery 似乎无法知道您的应用程序何时使用 promise 完成。由于内存是在 js 中管理的,因此我认为 promise 会一直存在,直到对它的所有引用都消失为止。具体来说,它将无限期地存在,直到它被解析并且创建或使用它的代码已经完成退出(返回的函数等)。此时它将被垃圾收集。

谁能验证我的假设?或者对此添加其他想法?

理解底层机制有一些重要的含义;内存泄漏、潜在的缓存机会(通过在解决后持久化 promise )等。我的下一步是深入研究 jQuery 源代码,但在开始之前我希望得到一些额外的指导。

最佳答案

如果没有对已解决 promise 的引用,它将(最终)被处置。否则,它将被保存在内存中,以防有人想访问它的值。

在这种情况下,这里的 Promise 与任何其他对象没有什么不同。

关于javascript - 使用 jQuery promise 后会发生什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22972210/

10-12 12:27
查看更多