建议在使用 async/await 函数时,加上 try...catch 块来捕捉异步操作中的错误。
当异步操作中出现错误时,如果没有添加 try...catch 块,错误将被传递到调用 async/await 函数的代码中,这可能会导致应用程序崩溃。如果使用 try...catch 块捕获异步操作中的错误,可以更好地处理错误,避免应用程序崩溃。
下面是一个使用 async/await 和 try...catch 的示例:
async function fetchData() {
try {
const response = await fetch('https://example.com/data');
const data = await response.json();
return data;
} catch (error) {
console.error(error);
throw new Error('Failed to fetch data');
}
}
// 在另一个函数中调用 fetchData()
async function anotherFunction() {
try {
const data = await fetchData();
console.log(data);
} catch (error) {
console.error(error);
}
}
在这个示例中,fetchData() 函数用 try...catch 块来捕获在异步操作中可能出现的错误,如果捕获到错误,则会使用 throw 语句抛出新的错误,从而使调用方可以更好地处理错误。在调用 fetchData() 函数的另一个函数中,同样使用 try...catch 块来处理可能出现的错误。
总的来说,虽然在使用 async/await 函数时可以不加 try...catch 块,但是加上 try...catch 块可以更好地处理错误,避免应用程序崩溃。