2017-05-05 108 views
3

React Native提供AsyncStorage库作为将持久数据存储在RN应用程序中的一种方式。一般来说,AsyncStorage是非常简单的使用,除了一个方面:React Native的AsyncStorage可能出现哪些故障?

两者的主要功能AsyncStorageAsyncStorage.getItemAsyncStorage.setItem返回Promise秒。这很容易理解:由功能完成的实际查询或保存在后台运行,并且项目的获取或保存可能会失败,要求我们向catch发送错误。

但是,它似乎没有在React Native文档中指出AsyncStorage的故障情况,或者调用setItemgetItem时应出现的错误。当然,我们可以推导出几种可能的错误情况:可以使用不存在的密钥尝试getItem,或者可以在完全或几乎完整的存储中尝试使用setItem,并且操作系统可能会拒绝释放更多的磁盘空间为您的应用程序,但它是令人沮丧的没有一个完整的清单。

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

回答

5

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

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

+0

尽管如此,为了查看失败案例列表,必须经过源代码才是一件痛苦的事情。我会等一会儿,然后再接受,看看是否有人知道这是否正确记录。 –

+0

接受的答案。谢谢 :) –