async处理catch错误问题

async () => {
  const fetchData = () => {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
      resolve('fetch data')
      }, 1000)
    })
  }
  
  // 抽离成公共方法
  const awaitWrap = (promise) => {
    return promise
    .then(data => [null, data])
    .catch(err => [err, null])
  }
  
  const [err, data] = await awaitWrap(fetchData())
  console.log('err', err)
  console.log('data', data)
  // err null
  // data fetch data
}

 



posted @ 2020-06-05 15:02  那个村  阅读(1333)  评论(0)    收藏  举报