利用泛型和枚举进行媒体服务开发
1. 库的选择
现代网页浏览器提供了 LocalStorage
和 IndexedDB
这两种标准 API。不过,不同实现之间存在细微差异,比如在错误处理方面。为了保证一致性和简单性,使用库通常是更简单的选择。
这里我们选择 localForage
库,它在 IndexedDB
和 LocalStorage
之上提供了易于使用的 API。默认情况下,它会尝试使用 IndexedDB
,若不可用则会回退到 LocalStorage
。其文档可查看: https://github.com/localForage/localForage 。
2. Promise API 介绍
localForage
公开了基于 Promise
的 API。 Promise
是另一个现代网页标准,它为实现异步代码提供了很好的解决方案,避免陷入著名的回调地狱。更多信息可查看: http://callbackhell.com 。
Promise
代表在未来某个时间交付某事物的承诺,除非