Promise和Deferred的用法对比

ES6原生提供了Promise对象,高版本的nodejs可以直接使用,服务器端的开发中借住babel工具也可以使用,但是如果直接用到浏览器中,兼容性还是个问题。试下了最新的firefox和chorme浏览器都支持了,为了安全还是老老实实用jquery提供的Deferred对象吧。Promise能实现的功能$.Deferred也能实现。

让jquery插件支持AMD和CMD规范

jquery插件支持AMD和CMD规范的改造:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;function(root, factory) {
"use strict";
if (typeof define === 'function' && (define.amd || define.cmd)) {

// register as anon module
define(['jquery'], factory);

} else {

// invoke directly
factory( (typeof(jQuery) != 'undefined') ? jQuery : window.Zepto );

}
}(this, function($){
'use strict';

// your code

});