jQuery 'deferred object/promises' 性能?

标签 jquery jquery-deferred

有谁知道与具有标准“成功”和“错误”回调的旧 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/

相关文章:

javascript - 如何使用 jQuery 使一组单选按钮处于非事件状态?

javascript - Jasmine:使用可变 URL stub ajax 请求

jquery - 如何在动态调用的元素上绑定(bind)关闭事件操作

jquery - 基于 jQuery Deferred 的 ES6 Promise polyfill

jquery - 重试 jquery ajax 请求,该请求已附加到其延迟的回调

javascript - 按下按键时使用 jQuery 取消聚焦文本框

javascript - 如何使用数组和 JQuery 创建可过滤菜单?

javascript - 在 JQUERY 中延迟 | Ajax

jquery - 对 JQuery 的 promise 感到困惑

jquery - 返回已解决的 promise