javascript try... useEffect内部的异步调用中需要catch?

tp5buhyn  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(116)

我试图在useEffect钩子中做一些异步的东西。所以首先我定义了异步函数,然后我调用了那个函数。我不太确定如何正确地处理错误。try...catch部分也需要作为函数调用的.catch吗?不是一样的吗?

useEffect(() => {
  const fetchData = async () => {
    try {
      const token = await AsyncStorage.getItem('auth.token')
      // do something
    } catch (e) {
      console.error(e)
    }
  }

  fetchData().catch(console.error)
}, [])
ttcibm8c

ttcibm8c1#

在JavaScript中有两种方法来处理异步操作,可以使用asyncawait.then() & .catch()

useEffect(() => {
  const fetchData = async () => {
    try {
      const token = await AsyncStorage.getItem('auth.token')
      // do something
    } catch (e) {
      console.error(e)
    }
  }

  fetchData()
}, [])
useEffect(() => {
  const fetchData = () => {
    AsyncStorage.getItem('auth.token')
      .then(token => console.log(token))
      .catch(err => console.error(err))
  }
  fetchData()
}, [])

相关问题