早上醒来,继续讨论deferred对象和primise对象。html
deferred对象的的方法:ajax
1.$.Deferred()-----生成一个deferred对象promise
2.deferred.done()-----指定操做成功时的回调函数函数
3.deferred.fail()------指定操做失败时的回调函数spa
4.deferred.promise()------没有参数是,返回一个新的deferred对象,该对象的运行状态没法改 变;接受参数的时候,做用为在参数对象上部署deferred接口code
5.deferred.resolve()----手动改变deferred对象的运行状态为“已完成”,从而当即出发done()方法htm
6.deferred.reject()-----改变deferred对象的状态为“已失败”,出发fail()方法对象
7.$.when()-----为多个操做指定回调函数blog
8.deferred.then()-----then()的两个参数,第一个参数是done()方法的回调函数,第二个参数是 fail()方法的回调函数。若是只有 一个回调函数,默认done()接口
1 $.ajax('test.html') 2 .then(successFunc,failureFunc)
9.deferred.always()-----无论调用的是deferred.resolve()仍是deferred.reject(),always()的回 调函数老是执行
1 $.ajax('test.html') 2 .always(function(){})