翻译自JavaScript Battery API: Promisesjavascript
在 Mozilla 工做使我有不少时间来看新的 API,其中就有Battery API。在这个API刚刚出来的时候,我写过一篇关于这个API的文章。现在这个API已经修改,基于promise API实现了Battery API,而Google Chrome是如今惟一实现这个API的浏览器。让咱们来看看如何使用这个API!java
咱们将要使用的这个方法仍然绑定在navigator
对象上,可是现在这个方法叫作getBattery
:api
navigator.getBattery().then(function(result) {});
getBattery()
方法返回一个promise对象,给回调函数than
一个名叫BatteryManager
的对象,就像下面:promise
// result: BatteryManagery { charging: false, chargingTime: Infinity, dischargingTime: 8940, level: 0.59, onchargingchange: null, onchargingtimechange: null, ondischargingtimechange: null, onlevelchange: null }
这个新API在实现上和以前不一样,可是给出了与以前相似的结果。老的API在MAC设备上有一些问题,并且并无改进。各个浏览器都有本身的专有前缀确实使人难过,但咱们慢慢习惯和接受了一点,可是若是各个浏览器方法名彻底不同那确实是太糟糕了。因此我但愿各个浏览器赶忙升级和改进,让咱们又可使用统一的,browser-prefixed (开玩笑,哈哈) API 。浏览器