异步函数中一个比较有趣的部分是,你可以简单地使用try catch
语句块来包裹异步代码,进行错误捕获:
code/async-await/read-write-file-catch-error.js
async function readWrite() {
try {
const content = await readFile('./example.txt', 'utf-8')
const result = await writeFile('./example-copy.txt', content)
return result
} catch (error) {
console.log('An error happened while copying the file.')
return Promise.reject(error)
}
}
上面的代码中,我们把异步代码包裹进了try catch
语句块。任何步骤出现错误,我们都可以捕获到它,并返回一个rejected promise
。