如何巧妙应对JavaScript异步错误处理技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1823个文字,预计阅读时间需要8分钟。
1. `try/catch` 基本上是和 `async/await` 一起广泛使用的。通常,我们会用它来处理异步方法中的异常。`await` 关键字后面的 `promise` 一旦 reject,就会抛出一个异常错误。
1. try/catch
try/catch基本上是大家最常和async/await一起使用的,基本上我们会用它去包围大部分的异步方法。await关键字后面的promise一旦reject了,就会抛出一个异常错误。
run(); async function run() { try { await Promise.ject(new Error('Oops!')); } catch (err) { console.error(error.message); } }
try/catch同样也可以处理同步的错误,比如下面:
async function run() { const v = null; try { await Promise.resolve('foo'); v.thisWillThrow; } catch (error) { // 会出现"TypeError: Cannot read property 'thisWillThrow' of null" console.error(error.message); } }
好像我们只要无脑把逻辑都放到try/catch里面就万事大吉了吗?不太准确,下面的代码却会导致unhandled promise rejection。
本文共计1823个文字,预计阅读时间需要8分钟。
1. `try/catch` 基本上是和 `async/await` 一起广泛使用的。通常,我们会用它来处理异步方法中的异常。`await` 关键字后面的 `promise` 一旦 reject,就会抛出一个异常错误。
1. try/catch
try/catch基本上是大家最常和async/await一起使用的,基本上我们会用它去包围大部分的异步方法。await关键字后面的promise一旦reject了,就会抛出一个异常错误。
run(); async function run() { try { await Promise.ject(new Error('Oops!')); } catch (err) { console.error(error.message); } }
try/catch同样也可以处理同步的错误,比如下面:
async function run() { const v = null; try { await Promise.resolve('foo'); v.thisWillThrow; } catch (error) { // 会出现"TypeError: Cannot read property 'thisWillThrow' of null" console.error(error.message); } }
好像我们只要无脑把逻辑都放到try/catch里面就万事大吉了吗?不太准确,下面的代码却会导致unhandled promise rejection。

