同步
不可以同时进行,能直接得到结果,会阻塞后续页面加载
异步
可以同时进行,不能直接得到结果,不阻塞页面加载,需要回调或者轮询
回调
在将来某个特定情况下,被其他对象调用,而不是自身调用。
异步任务与回调
异步任务不能直接拿到结果,因此需要传一个回调函数给任务,任务完成时调用回调函数,并把结果作为参数传进去。
函数((x)=>{consolo.log(x)})
参数个数相同时可以简化为
函数(console.log)
promise
为什么要使用promise
1.不规范 命名五花八门
2.容易出现回调地狱,代码难以阅读
3.很难进行错误处理
使用方法
return new Promise((resolve,reject)=>{})
成功会调用resolve(result)
失败会调用reject(request)
resove,reject会再调用成功或失败函数
用Promise.then(seccess,fail)传入成功和失败的函数
axios 基于 Promise 的HTTP库
