js中await和async的理解以及使用场景---怎么在等待一个方法或者一个字段赋值后进行之后的操作呢

js的同步和异步

首先js不同于其他的语言,它是一个单线程的语言,所有的任务都会在主线程中进行执行,同步任务就是在主线程中按次序执行的任务,异步任务就是可以改变主线程中次序的任务,在js中有一个"任务队列"专门存放异步任务,当主线程的任务没了的时候再去访问"任务队列"中成功回调的方法,进行执行。

promise

promise是ES6中的,主要是为了解决回掉地狱的问题,大家可以自行百度理解

await和async

是promise的语法糖,await后,会等待结果再往下执行,使用await必须要配合async,如果await后面是一个promise的话,它会等待promise返回成功结果再往下进行,如果await后面不是promise的话,那么就会直接返回 并且继续执行下去

实际应用场景

因为公司里要做一个本地生活电影票的小程序配合其他业务,首先是获取用户当前的位置,其次获取位置后,根据位置返回当前区域内的电影,以往用promise封装接口后,我是先请求获取位置的接口,其实再获取位置的接口成功回掉中再做请求区域的电影,那么用了await后代码会更加的简洁一点。

代码示例

在这里插入图片描述

async created() {
			await this.getLocalCity()
			this.locationFlag = true
			this.location = this.$store.state.locCity
			console.log('location------', this.location)
			this.gethotMovie()
			this.getCinema()
			this.wxLogin()
		},
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值