VUE中的同步和异步调用顺序

VUE中的方法调用顺序是依次进行的,方法体内部也是依次执行的,但是,两个方法体的执行顺序并不能严格控制。
以下方法中都带有promise函数或异步调用。

	initUserData() {
	  this.getPsCountryList() // 1 获取国家列表stateOptions,方法内同步
	  this.getTimeZone() // 2 获取时区timezones,方法内同步
	  this.getUserInfo() // 3 获取用户信息
	}

在实际运行中,三个方法的执行顺序是1-2-3,但是方法3始终不能获取到stateOptions和timezones

背后的调用顺序是1-2-3,但是,方法的执行时间并没有严格控制。

如果想要做到方法调用和执行是同步的,可以使用async和await修饰符。

例如:

	async initUserData() {
	  await this.getPsCountryList() // 1 获取国家列表stateOptions,方法内同步
	  await this.getTimeZone() // 2 获取时区timezones,方法内同步
	  await this.getUserInfo() // 3 获取用户信息
	}

你可能感兴趣的:(VUE)