有谁知道与具有标准“成功”和“错误”回调的旧 jQuery 样式 ajax 方法相比,使用新的 jQuery“ promise /延迟对象”模式会带来任何重大的性能损失吗?
我知道,展望 future ,我们现在没有太多选择,因为“延迟”对象现在已内置到 AJAX 核心中,但只是想知道是否有任何可测量的差异,以及新的“ promise ”设计模式是否实际上更高效不仅仅是老式的匿名函数回调?
亲切的问候, 标记
最佳答案
应该没有区别。这只是语法糖。
如果您关心性能,请不要使用 jQuery 抽象。
创建您自己的 XMLHttpRequest
对象并在纯 JS 中处理它。
[编辑]
换句话来说:新的 deferred/promises 包装器的性能损失非常小,因为它有更多的层和函数需要执行。
性能差异可能比使用 jQuery 进行 ajax 而不是 XMLHttpRequests 的性能差异低一个数量级。
与它们为您提供的灵 active 和跨浏览器合规性相比,这两个差异都可以忽略不计。
如果它们很重要,那么就直言不讳地说你有太多的 ajax 请求发生。
关于jQuery 'deferred object/promises' 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5060890/