JavaScript电池状态信息API:Promises
我会经常的关注各种浏览器里新JavaScript API的发展,其中一种API就是电池状态信息API。之前我曾写过一篇关于电池状态信息API的文章,那时候这个API对于各种浏览器来说还是个新鲜事物。然而,随着技术的发展,这个电池状态信息API有了变化升级,它现在变成了基于promise方式的API,你可以在最新版的谷歌浏览器里使用它。下面让我们来看看这个最新的API的用法!
这个API仍然是navigator
对象提供的,但现在它叫做getBattery
:
navigator.getBattery().then(function(result) {});
通过对getBattery()
的调用,我们得到一个promise,这个promise会回调then
方法,并提供一个BatteryManager
对象,下面是对这个BatteryManager
对象的说明:
// result: BatteryManagery { charging: false, chargingTime: Infinity, dischargingTime: 8940, level: 0.59, onchargingchange: null, onchargingtimechange: null, ondischargingtimechange: null, onlevelchange: null }
这个新的API执行的方式有些区别,但返回的结果非常相似。还记得旧的电池状态API的用法吗,它在Mac设备电池有些问题,而新的API适合并没有任何改善。使用浏览器引擎前缀是一个解决方案,但实在是让人恶心。希望各浏览器尽快升级,给程序员更好的编程体验。
阅读余下内容