jQuery Promise 深入对比
对比jQuery Deferred与ES6 Promise的使用差异 · 难度:高级 · +15XP
### jQuery Promise vs ES6 Promise
jQuery 3.x的Promise已高度兼容ES6标准。
### 对比
// jQuery
$.ajax('/api').done(fn).fail(fn).always(fn);
// ES6
fetch('/api').then(fn).catch(fn).finally(fn);
### 互操作
// jQuery Deferred → ES6 Promise
var esPromise = Promise.resolve($.ajax('/api'));
// ES6 Promise → jQuery
var jqPromise = $.Deferred().resolve(123).promise();
### 推荐
现代项目优先使用 fetch + async/await,维护旧jQuery代码时了解Deferred即可。
### 💡 练习 对比jQuery AJAX和fetch API实现相同的数据请求。
学习与实践建议
- 先理解本节的核心概念和语法规则
- 在右边编辑器中修改示例代码,观察运行结果变化
- 尝试用学到的知识完成一个小练习——比如自己写一个工具函数或小程序
- 遇到问题时,查阅官方文档是最快的学习途径
编程是门实践技能,动手写代码比看教程重要得多。坚持每天练习,你会很快看到进步!