AsyncStorage.getItem blocks when debugging remotely
See original GitHub issueThis issue was originally created by @bartolkaruza as facebook/react-native#12830.
Description
In some situations when calling AsyncStorage.getItem, either with a callback, calling then
or using async await
, the proceeding callback is not called and the promise does not resolve. This only happens when the remote debugger is on.
result or error are not called below:
AsyncStorage.getItem('key')
.then(result => console.log('result', result))
.catch(e => console.log('err', e));
AFTER is not printed (and no error is thrown):
console.log('BEFORE');
const result = await AsyncStorage.getItem('key');
console.log('AFTER');
The same code above completes the first time (and several consecutive times) it is run in the same debug session but blocks at a later stage. The point in time where it starts blocking is consistent in my app, so there is a piece of context that I haven’t found yet which is causing it. I will continue searching for this context. Are maybe others running into similar behavior?
No matter the availability of data, getItem should always resolve (or reject), right?
Reproduction
I will keep trying to isolate the reproduction but so far I have not been able to cleanly reproduce, but in my full app, it is consistently occurring.
Solution
Additional Information
This issue is occurring on both iOS devices and simulators. I haven’t seen it on Android yet. OS X 10.11.6 Xcode 8.2.1 React Native Debugger 0.5.6 React Native 0.42.0
"dependencies": {
"react": "15.4.2",
"react-native": "0.42.0",
"analytics-react-native": "^1.0.1",
"axios": "^0.11.1",
"bugsnag-react-native": "^2.0.2",
"firebase": "^3.6.10",
"moment": "2.17.1",
"react-native-auth0": "^1.0.0-beta.1",
"react-native-code-push": "^1.17.2-beta",
"react-native-drawer": "^2.2.3",
"react-native-gifted-chat": "https://github.com/immidi/react-native-gifted-chat",
"react-native-loading-spinner-overlay": "^0.4.1s",
"react-native-lock": "git+ssh://git@github.com/auth0/react-native-lock.git",
"react-native-navbar-wrapper": "^1.0.0",
"react-native-onesignal": "^3.0.2",
"react-native-smart-badge": "1.1.1",
"react-navigation": "1.0.0-beta.3",
"react-redux": "^4.4.5",
"redux": "^3.5.2",
"redux-devtools-extension": "^2.13.0"
},
"devDependencies": {
"babel-jest": "19.0.0",
"babel-preset-react-native": "1.9.1",
"jest": "19.0.2",
"react-test-renderer": "15.4.2",
"remote-redux-devtools": "^0.5.7",
"chai": "*",
"chai-as-promised": "*",
"colors": "*",
"mocha": "*",
"q": "*",
"underscore": "*",
"wd": "*",
"eslint": "^3.1.1",
"eslint-plugin-react": "^5.2.2",
"eslint-plugin-react-native": "^1.1.0",
"babel-eslint": "^6.1.2"
}
Issue Analytics
- State:
- Created 5 years ago
- Reactions:8
- Comments:6 (2 by maintainers)
Top GitHub Comments
This is still happening, as everyone has posted for a few years now 😉
this is still a problem. that took hours to find in fact.