vue的created钩子函数中,方法的执行顺序

情景:vue框架中通常在created钩子函数里执行访问数据库的方法,然后返回数据给前端,前端data中定义全局变量接收数据
但是如果你在created中执行了好几个访问数据库的函数,如果对他们的执行顺序是有要求的,那么哪个会先返回,哪个会后返回呢
并不是谁在前谁就先返回,如果你这样想,并且在后执行的函数中对先执行的函数返回的数据进行操作,经常会报错,提示某些属性不存在,或未定义

原因:这是因为js中默认执行网络请求是异步的,他们会按顺序发出请求之后就不管了,谁先返回是不确定的,这样在加载数据的时候不会因为某个网络请求慢,而在一直等待那个请求,导致其他请求阻塞,效率,体验很差

解决方法:
如果一次加载页面需要执行多个网络请求,并且对返回的数据顺序是有要求的,就用.then()函数,当这个函数执行完后再执行下个函数

Logo

前往低代码交流专区

更多推荐