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 引用变量不存在 // a = ''' b
- TypeError 数据类型不正确 // b = [] b.XXX
- RangeError 数值不在允许的范围内 //递归
- SyntaxError 语法错误 // var a =""""
出了错误不处理 程序不会向下执行(错误被捕获后就程序就会向下执行)
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
本人是一个技术爱好者
1.但是每个技术爱好者都是从萌新开始的
2.我所有的博文都是我各方资料查阅(看的比较乱比较杂,因为有些是群里讨论等等来源,无法辨别出处,所以我的文章都是没有写明出处,都是我个人消化后整理,)
3.但是没有经过我实践的我一般会标注
4.希望大家共同交流共同进步,指出我的不足 谢谢

浙公网安备 33010602011771号