2017-05-05 112 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

接受的答案。謝謝 :) –