Javascript AsyncStorage.setItem承诺未实现或出错?
我看过一些类似这样的帖子 我想使用console.log查看是否已成功将项设置为异步存储 这是我的密码:Javascript AsyncStorage.setItem承诺未实现或出错?,javascript,reactjs,react-native,promise,Javascript,Reactjs,React Native,Promise,我看过一些类似这样的帖子 我想使用console.log查看是否已成功将项设置为异步存储 这是我的密码: export function saveDeckTitleAPI(key,title) { return AsyncStorage.setItem(uuid(), JSON.stringify(new DeckCreator(title))) .then(data => { debugger; console.log('INSIDE SET ITEM
export function saveDeckTitleAPI(key,title) {
return AsyncStorage.setItem(uuid(), JSON.stringify(new DeckCreator(title)))
.then(data => {
debugger;
console.log('INSIDE SET ITEM');
AsyncStorage.getItem(data.key).then(item => {
console.log(item);
})
})
.catch(err => {
console.err(err);
});
}
当我运行这段代码时,.then和.catch没有实现。我试着自己记录这个承诺,我得到了与上面帖子类似的结果
我必须使用异步/等待吗?这就是问题所在吗?以下是要发送的文档。您可以将回调作为第三个参数传递。如果出现错误,它将是回调的第一个参数。如果没有错误,控制台记录一切正常,否则记录错误。是,您需要异步并等待 你可以从下面的代码中得到灵感,就像我用setItem登录facebook一样
}) 我也有同样的问题,这样做没有帮助。我也有同样的问题,使用async/await并不能解决它。你找到解决办法了吗?
const doFacebookLogin = async dispatch => {
const { type, token } = await
Facebook.logInWithReadPermissionsAsync('xxxx', {
permissions: ['public_profile']
});
if (type === 'cancel') {
return dispatch({ type: FACEBOOK_LOGIN_FAIL });
}
await AsyncStorage.setItem('fb_token', token);
dispatch({ type: FACEBOOK_LOGIN_SUCCESS, payload: token });