js中异步函数有哪些
1,promise
其实严格意义上来说promise是一种模式,它可以管理异步代码
2,setTimeout,异步函数
3,事件绑定,
事件绑定的方法有三种,
一,事件监听,
二,对象.on方法,
三,直接在行内写
事件监听有两种方法,一种是addlisenerevent
一种是attachevent
两种事件监听的区别
addeventlistener参数个数一般是三个,参数书写(事件类型)不写on执行顺序为:顺序注册倒序执行,兼容非IE7.8,最后一个参数是TRUE或FALSE,TRUE为捕获,FALSE为冒泡,默认FALSE
attachevent参数个数为两个,参数书写不写on,执行顺序:顺序注册倒序执行,兼容ie78
4,ajax,发送异步请求
处理异步函数的方法
1,promise的. then方法,这样的链式编程可以让代码语义明了
但是这里有一个问题,就是单纯使用promise它只有两个状态,一个是等待,一个是完成,我们不知道它到底进行到哪一个状态了,第二个问题就是一但执行了promise它不能取消
2,gennerater加promise的语法糖,async和await(这是是promise的终极解法)
async将函数定义为异步函数,自动把函数变为一个promise对象,await只能在async当中使用
3回调函数
A(callback){
}
B(){
}
A(B)
只有当b执行完成了之后拿到结果,才可以执行a函数,其实回调函数和异步同步没有直接的关系,同步函数也可以写回调