每天掌握一个点-day1

47 阅读1分钟

第一次发文章,万分激动!!!!!!记录一下我的小白成长之路,就从今天开始积累吧!!!!! 希望大家帮我补充

所有知识点基本是上班敲代码遇到的问题或者是摸鱼逛帖子的时候看到的其他创作者发出来的问题以及涉及到的基础知识,巩固、学习、扩展,加油

问题1、promise怎么捕捉错误

1、 try...catch捕获错误(只能捕获同步的错误)

try {
      Promise.reject('失败回调')
    } catch (e) {
      console.log(e)
    }

返回结果:

image.png

可以看到try/catch无法捕获异步的异常,所以需要async/await将异步转同步

async function change() {
      try {
        const res = await new Promise((resolve, reject) => {
          resolve('成功回调')
          reject('失败回调')
        })
      } catch (e) {
        console.log(e)
      }
    }

2、 使用then的第二个参数和catch进行异常捕获

使用第二个参数捕获异常
 const promise = new Promise((resolve, reject) => {
      throw new Error('异常')
    })
    promise.then(
      (res) => {},
      (err) => {
        console.log(err)
      }
    )
使用catch捕获异常
  const promise = new Promise((resolve, reject) => {
      throw new Error('异常')
    })
    promise
      .then((res) => {})
      .catch((e) => {
        console.log(e)
      })