异步存储数据加载时间

时间:2018-08-29 15:35:52

标签: react-native asyncstorage

我正在使用Asyncstorage存储用户数据,例如:

try {
      await AsyncStorage.setItem(prod_id, '1').then(()=>{
        alert('Added to Cart');
      });
    } catch (error) {
      console.log(error);
    }

但是当我将其添加到onPress操作中时,它需要很长时间保存数据,然后调用我的警报。难道我做错了什么?请帮助我!

1 个答案:

答案 0 :(得分:1)

我认为您正在混合使用两种方式处理JS中的诺言。

  1. 使用异步等待
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" data-trigger="focus" title="Dismissible popover" data-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
  1. 然后抓住
async function SetItem(){
  try {
    await AsyncStorage.setItem(prod_id, '1')
    alert('Added to Cart');
  } catch (error) {
    console.log(error);
  }
}

调用此方法

function SetItem(){
  return AsyncStorage.setItem(prod_id, '1')
  .then(()=>{
    alert('Added to Cart');
  }).catch((error)=> {
    console.log(error)
  })
}