JavaScript APIs:电池
JavaScript APIs:电池
原文:https://medium.com/hackernoon/javascript-apis-battery-c72baa74c203

是的,你没听错,电池 API!随着网络的扩展,我们希望使用我们程序的设备数量也在增加。这个 API 对于保护我们的移动用户和他们宝贵的电池寿命特别有用!所以在我们看 API 之前,让我们想一想为什么我们可能需要这样一个东西的一些原因:
- 当电池电量低时,减少处理和请求。
- 向用户提供警告。如果您的用户正在处理对时间敏感的数据或操作,或者如果您知道您的应用程序很耗电,这一点尤其有用。
- 为网站提供一个更简单、低功耗的版本。
因此,让我们来看看您可能会如何使用它。
Getting battery info from navigator.getBattery
在上面的例子中需要注意一些事情:
getBattery并非在所有浏览器中都可用。确保在尝试使用它之前进行检查!getBattery的返回值是一个用BatteryManager对象解析的Promise。- 当
onchange函数被调用时,你必须重新检查承诺提供的原始BatteryManager对象。它将被修改并包含新的电池信息。 - 当调用
onchange函数时,它接收一个参数event,这个参数包含event.type,告诉我们发生了哪个电池事件。这允许您重用单个事件处理程序!
使用数据
既然我们已经了解了如何获取数据,那么让我们来看看如何使用数据!
在本例中,我们将观察电池电量是否变低,并在低于某一水平时显示警报。
我们正在检查的电池属性:
dischargeTime是电池耗尽前的时间,以秒为单位。如果设备插上电源,其值将为infinity。level是百分比。所以0.2是 20%。
您可以根据自己的需要对这些进行定制。在对时间高度敏感的环境中,你可能想让他们提前 20%或 20 分钟知道。
最后一点:当电池电量低时,大多数设备都会警告用户,所以您可能不需要在应用程序中添加警告消息的例子。相反,您可以限制您的进程,并显示一条消息,说明在电池充满电之前,处理是有限的。请记住,这个 API 只是允许您为用户解决问题的另一个资源。
随便看看我过去的一些帖子:控制台 API ,视频 API 。
嗨,我是贾斯汀·富勒。很高兴你看了我的帖子!我需要让你知道,我在这里写的一切都是我自己的观点,并不打算以任何方式代表我的雇主。所有代码样本都是我自己的,与美国银行的代码完全无关。
我也很乐意收到您的来信,请随时通过 LinkedIn 、 Github 或 Medium 与我联系。再次感谢阅读!
黑客中午是黑客如何开始他们的下午。我们是 AMI 家庭的一员。我们现在接受投稿并乐意讨论广告&赞助机会。
要了解更多信息,请阅读我们的“关于”页面 , 喜欢/在脸书给我们发消息,或者简单地说, tweet/DM @HackerNoon。