这是在没有 try-catch 块的情况下表示 async/await 的新方法吗

问题描述 投票:0回答:1
async function fetchData() {
    const [error, response] = await fetch('https://jsonplaceholder.typicode.com/todos/1')
    if (error) {
        console.log(error);
        return
    }
    
    const [e, data] = await response.json()
    if (e) {
        console.log(e);
        return
    }
    return data
}

fetchData()

我看到一篇 LinkedIn 帖子,展示了这种不使用 try-catch 块来表示 async/await 的新方法,如果它错了,这是正确的纠正我吗?它对我不起作用。

javascript node.js async-await try-catch
1个回答
0
投票

我一直在使用此解决方法来避免

try/catch
类似错误第一个回调,但使用
try/catch
是有意义的。

async function fetchData() {
  const { error, data } = await fetch(
    "https://jsonplaceholder.typicode.com/todos/1"
  )
    .then(async (res) => {
      const data = await res.json();
      return {
        data,
        error: null,
      };
    })
    .catch((error) => ({
      error,
      data: null,
    }));
  if (error) {
    return;
  }
  return data;
}

fetchData().then(console.log);

© www.soinside.com 2019 - 2024. All rights reserved.