React Native的AsyncStorage可能出现什么故障?

时间:2017-05-05 17:31:29

标签: react-native asyncstorage

React Native提供AsyncStorage库作为在RN应用程序中存储持久数据的方法。通常,AsyncStorage使用非常简单,除了一个方面:

两个主要的AsyncStorage函数,AsyncStorage.getItemAsyncStorage.setItem都返回Promise个。这很容易理解:函数执行的实际查询或保存在后台运行,项目的获取或保存可能会失败,需要我们catch错误。

但是,似乎React Native文档中没有任何地方指出AsyncStorage的失败案例,或者在调用setItemgetItem时应该发生的错误。当然,可以推断出可能存在的一些错误情况:一个可能尝试使用不存在的密钥getItem,或者可能尝试setItem在完整或接近完整的存储中,并且操作系统可能拒绝为您的应用程序释放更多磁盘空间,但是如果没有完整列表则会令人沮丧。

很高兴知道AsyncStorage可能会失败,因此开发使用数据持久性的React Native应用程序的人可能确切地知道他们需要处理哪些失败案例。

1 个答案:

答案 0 :(得分:7)

代码是开源的,您可以看到调用失败的时间,例如here on androidhere for ios

getItem调用失败,例如在需要不存在的项目时。其他示例可能是Failed to create storage directory.,您可以在ios模块中看到(例如,当设备上没有足够的空间时)。