当我尝试通过AsyncStorage.getItem()设置值时,我无法要求它返回。
message.channel.send(`the current number is: ${number}`).then(message => {
message.react('1️⃣')
message.react('2️⃣')
message.react('3️⃣')
});
const filter = (reaction, user) => {
return ['1️⃣', '2️⃣','3️⃣'].includes(reaction.emoji.name)
&& user.id === message.author.id;
}
message.awaitReactions(filter, { max: 1, time: 20000, errors: ['time'] })
.then(collected => {
const reaction = collected.first();
if (reaction.emoji.name === '1️⃣') {
message.reply('you reacted with 1');
} else if (reaction.emoji.name === '2️⃣') {
message.reply('you reacted with 2');
} else {
message.reply('you reacted with 3');
}
})
.catch(collected => {
message.reply('game has ended');
});
我已经设置了如下项目
let tokenData = null;
const getData = async () => {
let token;
try {
token = await AsyncStorage.getItem('token');
tokenData = JSON.parse(token);
} catch (e) {
// error reading value
}
};
答案 0 :(得分:0)
如果要存储数据,则必须这样设置setItem:
const storeData = async (key, value) => {
try {
await AsyncStorage.setItem(key, value);
} catch (error) {
console.log(error);
}
};
然后您可以使用getItem检索它,如下所示:
const getData = async key => {
try {
const data = await AsyncStorage.getItem(key);
if (data !== null) {
console.log(data);
return data;
}
} catch (error) {
console.log(error);
}
};
答案 1 :(得分:0)
const setLoginLocal = async loginData => {
try {
let token = loginData.headers.authorization;
let headerToken = ['token', JSON.stringify(token)];
let user = ['user', JSON.stringify(loginData.data)];
await AsyncStorage.setItem([user, headerToken]);
} catch (err) {
console.log(err);
}
};