1.回调函数(callback )
- 不是用到回调函数就为异步操作,回调函数会有同步回调
- 回调函数的优点是简单、容易部署和理解 缺点是不利于代码的阅读,各个部分之间会高度耦合,并且每个任务只能制定一个回调函数
- 异步回调如下:
function f1(callback){
setTimeout(function(){
console.log('f1执行')
},1000)
callback()
}
function f2(){
console.log('f2执行')
}
f1(f2)
2.添加事件监听
将任务的执行绑定在事件上,这样任务的执行不取决于代码的顺序,而是事件是否触发。
3.promise对象
promise.then()方法在promise的原型对象上,接受两个回调函数:一个是成功后的执行的回调函数 ,一个是失败后的回调函数
var promise = new Promise((reslove, reject) => {
reslove()
}) //创建Promise实例对象
promise.then(() => {
console.log('promise执行成功') //resolved执行体
})
4.async & await
async定义一个一步函数,返回的是一个Promise对象,在async函数内部使用await可以处理Promise对象
async function get(){
await timer()
}
function timer(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('aa')
},1000)
})
}
get()