线程,同步,异步
2019-08-28 本文已影响0人
waltiu
JS是一种单线程编程
js的任务分类{
同步任务:一些变量,函数。。。
异步任务:页面渲染,ajax请求,事件触发。。。
}
同步任务: 同步任务会依次在主线成里面运行
异步任务:
异步进入将会进入到eventTable,并且注册回调函数(每一个异步任务都有一个或者多个回调函数,不同的方式,把回调函数封装了),然后传到eventQueue中,等待主线程里所有的任务完成,然后在主线程 里执行回调函数
异步:callBack primose async/await
callBack :异步同步都可以回调函数,我们需要回调函数来获取同步或者异步任务的数据
promise: promise对象是同步,异步操作容器,但是.then和.catch是异步的
.then处理的返回值,多个.then的时候就.then 里的参数是上一个.then 的返回值,包装异步的
async/await :返回一个异步函数,await后面的等异步执行完毕再执行.如果只有async那么不是异步的,只有同时存在async/await的时候才会变成异步处理,异步处理await后面的内容,原理await后面的内容会被转成promise对象 resolve('返回值');包装promise