React - Native:可能未处理的承诺拒绝(id:120)
2020-06-26
405
我想问我的问题的解决方案。我有一个倒数计时器的代码。当我创建一个代码倒数计时器而不将变量存储到我的存储中时,它没有给我带来问题。但是,当我将用于存储计数器的代码添加到存储中时,我遇到了一个问题警告“可能未处理的承诺拒绝(id:120)”,并且这不会将值存储在变量计数器中。当计数器减少时,如何解决这个问题,并且每次计数器减少,它都会存储到我的存储中?这是我的代码
componentDidMount = async() =>{
this.hitungMundur()
}
async hitungMundur(){
let counter = 10
const interval = setInterval(async() =>{
console.log(counter)
counter--
await AsyncStorage.setItem('durasi', counter)
if(counter < 0){
clearInterval(interval)
console.log('stoped')
}
}, 1000)
}
2个回答
您应该将
await AsyncStorage.setItem('durasi', counter)
包装在
try
块内,如果承诺被拒绝,则包装
catch
try { await AsyncStorage.setItem('durasi', counter) }
catch (err) { console.log(err) }
Hagai Harari
2020-06-26
您只能在 AsyncStorage 中设置字符串值 请查看 此处 的文档>
await AsyncStorage.setItem('durasi', String(counter))
Azmat Ullah
2020-06-26