当前位置: 首页 > 后端技术 > Node.js

NPM酷库:qPromise

时间:2023-04-04 00:34:01 Node.js

NPM酷库增强版,每天两分钟了解一个流行的NPM库。昨天我们学习了如何使用Promise来管理异步任务,但是ES2015标准的Promise对象实现的接口非常有限,只包括Promise.all()Promise.race()promise.then()promise.catch(),这些接口其实在使用上是不够的,比如我们没有办法直接去判断一个Promise对象是否已经完成。qq是一个Promise实现库,相对于ES2015标准,q提供了很多有用的实用函数。下面我们列出了一些非常有用的函数:判断Promise状态promise.isFulfilled()promise.isRejected()promise.isPending()promise.finally(callback)Promise在最终完成后被调用,无论是否失败。注意ES2016标准的Promise这个函数是存在的,但是Edge等部分浏览器并没有实现。promise.timeout(ms,message)异步处理超时设置promise.delay(ms)延迟其他与返回值相关的实用函数的执行,例如promise.get(propertyName)函数是获取Promise的某个属性返回对象,相当于:promise.then(function(o){returno[propertyName];});此类函数有很多,具体请参考API文档。参考资料https://github.com/kriskowal/qhttps://github.com/kriskowal/...