用于设置我正在使用此第一个代码的项目。
let mediaPlayer = VLCMediaPlayer()
mediaPlayer.media = VLCMedia(url: "http://s2.yesstreaming.net:7091/stream")
// outputView is the view where you want to display the stream
mediaPlayer.drawable = outputView
mediaPlayer.play()
获取该项目,我正在使用此代码
console.log(ACCESS_TOKEN);
console.log(typeof(ACCESS_TOKEN));
async function setToken() {
try {
await AsyncStorage.setItem('access_token', ACCESS_TOKEN);
} catch (error) {
console.log("token not set")
}
}
setToken();
我在第一段代码中获得的结果是
1a61b72b-ee83-43de-9cf9-3fa270ce694d
的字符串
但在获取代码时在控制台上一无所获。为什么?
答案 0 :(得分:1)
你可以尝试这个:
使用此
设置项目AsyncStorage.setItem('access_token', ACCESS_TOKEN);
使用此
获取项目 try {
AsyncStorage.getItem('access_token')
.then((value) => {
if (value) {
// you will get your access_token here
}
}).done();
} catch (error) {
console.log(error); // you will get error here
}
答案 1 :(得分:0)
设置项目
AsyncStorage.setItem('access_token', ACCESS_TOKEN)
.then(() => {
//your success code
})
.catch((error) => {
//your failure code
})
获取物品
AsyncStorage.getItem('access_token')
.then(access_token=> {
//you will be getting the access token here
})
.catch(err => {
//handle the error
})
答案 2 :(得分:0)
也许这就是你的意图:
async function getToken() {
try {
const value = await AsyncStorage.getItem('access_token');
if (value !== null){
console.log(value);
this.setState({ access_token: value });
}
} catch (error) {
console.log( "Error retrieving data")
}
}
componentWillMount(){
getToken();
}
如果您的代码在使用AsyncStorage时遇到困难,那么只有在开发中才会出现一个众所周知的错误:https://github.com/facebook/react-native/issues/12830
他们只能绕过它,afaik,只是在你遇到困难时重启调试器
请记住,在componentWillMount期间设置状态不是正确的方法。您应该使用构造函数
答案 3 :(得分:0)
我的回答可能并不直接适用于您的情况,但是我遇到了与您对AsyncStorage
所做的问题相同的问题,并且此问题一直困扰着您,因此这可能会对其他人有所帮助。
如本answer所述:
AsyncStorage仅将字符串作为值和键。
但是我不小心给了它null
(您知道它被认为是一个对象),因此卡住了。因此,请检查是否将字符串值作为setItem的第一个和第二个参数传递。