promise核心技术 2.两种回调函数 js中error的处理

抽空详细学习一下什么是回调函数(一个回调函数,也被称为高阶函数)

1.什么样的函数是回调函数

  • 自己定义的(sittimeout不是自己定义的)
  • 没有调用
  • 自己执行

1.同步回调与异步回调函数

同步回调函数

const arr = [1, 2, 3]
arr.forEach(item => {
  console.log(item)
}) //同步回调,任务启动后(等待完成),直接执行回调函数,再往下执行

console.log("later")

异步回调函数

setTimeout(() => {
  console.log('callback()')
},0) // 任务启动后,代码往下执行,任务放入队列,下面代码执行完,再执行队列任务
console.log("later")

2.JS中 error处理

1.错误的类型

  • Error:所有错误的父类型
  • ReferenceError 引用变量不存在
  • TypeError 数据类型不正确
  • RangeError 数值不在允许的范围内
  • SyntaxError 语法错误

出了错误不处理 程序不会向下执行(错误被捕获后就程序就会向下执行)

2.错误的处理

捕获错误 try catch(原生程序抛出错误)

  try {
    let d
    console.log(d.xxx)
  } catch (error) {
    console.log(error)
  } // error对象中有两个属性 massege和stack

抛出错误:throw error  + 捕获

  function proxy() {
    if (Date.now()%2 === 1) {
      console.log("ok")
    } else {
      throw new Error('这是错误信息提示文本error.massage') //内部抛出错误用具体的 我们抛出用这个
    }
  }
 try {
   proxy()
 } catch (error){
    console.log(error.message)
 }

3

猜你喜欢

转载自www.cnblogs.com/-constructor/p/12216104.html