同步函数和异步函数
两者的区别
大家可以看一下上面的链接,接下来我用身边的例子描述一下:
同步函数相当于:我们几个人一起参加一个接力赛,第二个人必须要等到我过来了,把接力棒给他,他才可以跑下一段路,而异步函数是不需要等待直接就可以运行下一个步骤,所以异步函数的效率要比同步函数的高。
调用接口的异步函数
只要是从后台拿数据,获取数据都是异步请求,所以都需要使用到异步函数,因为js是单线程,如果不使用异步函数就会出现 ,还没获取到数据就跳下一步了,所以就没有数据了,必须让他同步执行。就必须写async和await,即一次只能完成一个任务,若有多个任务要执行,则必须排队按照队列来执行(前一个任务完成,再执行下一个任务)。
async和await
es7async和await玩法链接
像下面这个方法就用到了,因为需要调用后端接口,所以是异步请求,我用到async来处理这个异步请求
解决异步请求的三种方法
我刚才介绍到了async+await的使用,现在说一下回调函数
这种就是add是一个axios的函数,通过.then这个回调函数来简化异步的处理,这样九夜茴简单一点
rowSave(row, done, loading) {
add(row).then(() => {
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
done();
}, error => {
loading();
window.console.log(error);
});
},