同步:同时执行一个个操作,生活例子:烧菜两只锅,一个锅正在顿鸡肉,一个锅正在炒菜,两件事同时进行。
异步:分不同时间段执行一个个的操作,生活例子:烧菜一个锅,先顿鸡肉,如何过了一段时间鸡肉好了,拿出放入菜再进行炒,两件事分不同时间段完成。
因为JavaScript是个单线程语言,所以默认是同步操作,那如何让它进行异步操作:
1,简单的异步其实定时器就是一个简单的异步,设置不同的时间段做某事。
console.log('顿鸡肉');
setTimeout(function(){
console.log('炒菜');
},3000);
2,ajax进行异步操作
function regListener () {
console.log();
}
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open('get','url',false);
oReq.send();
3,promies进行异步操作
const myFirstPromise = new Promise((resolve, reject) => {
// ?做一些异步操作,最终会调用下面两者之一:
//
// 成功执行这个
// resolve(someValue); // fulfilled
// ?或
// 失败执行这个
// reject("failure reason"); // rejected
});
4,async await 实现异步操作
async created() {
scroll(0, 0);
this.type = this.$route.query.type ? this.$route.query.type : ''
if (this.type) {
await this.SigninSubmit();//执行签到,必须先执行
}
await this.getdata();
await this.initData(null)