我redux-persist
在一个 react native 项目中使用,它在除 Android 7 之外的大量设备中运行良好。我正在尝试调试为什么我的本地存储也不持久的问题,并发现了这一点:
以下代码在 React Native 组件生命周期内执行
componentDidMount() {
attachObservables(store)
setInterval(async () => {
console.log('Inside setInterval')
const data = await AsyncStorage.getAllKeys()
console.log('inside the getAllKeys')
data.forEach(async k => {
const value = await AsyncStorage.getItem(k)
console.group(k)
console.log(value)
console.groupEnd()
})
}, 3000)
}
'Inside setInterval' 之后的代码永远不会被调用。如果在 setInterval 之外,它只会运行一次。如果我在 setInterval之外调用一次代码,它似乎运行得很好。我也尝试过回调格式与异步/等待版本,但这似乎并不重要。
我在使用 firebase js 库时遇到了同样的问题(回调在第一个之后永远不会返回)。我现在正在寻找解决问题的替代方法。
有任何想法吗?