q.js解决问题
1、q.js解决回调函数的嵌套问题,避免嵌套层级太深导致一系列的问题
2、q.js的所有方法操作的对象都得是一个promise对象。所以需要创建一个promise对象。
创建promise对象的方法
1、q.fcall
q.fcall传递给此方法一个返回值的函数或者一个defer实例,将会创建一个promise对象
2、q.defer
q.defer通过延迟对象来创建promise对象
3、q.promise
q.promise传递此方法一个函数来创建promise对象
使用promise对象
1、then方法:传入一个成功回调与一个异常回调
2、q.all
q.all使用此方法可以保证执行多个异步方法之后执行回调
3、q.when
q.when使用此方法执行不带延迟对象以及延迟对象promise,不支持传递数组内带延迟对象
q.js的链式调用
链式调用就是在成功回调内返回一个新的promise对象,假如之后的回调不需要获取闭包内容的话,可以直接返回,否则可以接着写then方法调用
总结
q.js是一个非常好用的promise实现,前后端都可以用。以上展现的是浏览器端的使用。