javascript - jQuery promise 在使用完毕后会发生什么?

标签 javascript jquery promise

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

任何人都可以验证我的假设吗?或者对此添加其他想法?

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

最佳答案

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

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

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

相关文章:

javascript - 我的 Ajax 调用未定义

javascript - 重新创建 Medium 的图像淡入淡出滚动效果

javascript - 等待后在 map 函数下循环序列中断

javascript - 如何使用 Javascript 检查字符串是否包含任何非 ISO-8859-1 字符?

javascript - javascript可以用来写入文件吗?

javascript - MongoDB/EJS : How to make synchronous query and render result values in EJS

jquery - CSS Accordion 菜单,在 IE Quirks 模式下不起作用

node.js - 我应该在哪里捕获这个 Promise MongoError?

javascript - 链接异步函数 Node.js bluebird mongoskin

Javascript/ES2015,计算出现次数并将其存储为数组中的对象