async await 等待异步请求完成

139 阅读1分钟
async addRegionLabel(city) {
    let point = await this.ceshi('ceshi')  //请求返回后执行下面的代码···
    console.log(point)
}
ceshi(type) {
    return this.$http.get('/api/getList', { params: { type } }).then((res) => {  //注意这里需要return
        if (res.data.code !== 0) {
            return this.$message.error(res.data.msg)
        }
            return Promise.resolve(res.data.data)  //注意Promise中的P大写
        })
},
// 或者
ceshi(type){
    return new Promise((resolve, reject) => {
	this.$http.get('/api/getList',{params:{type}).then(({ data: res }) => {
		if (res.code === 200) {
                    setTimeout(() => {
			console.log(1)
			resolve(res.data.list)
                    }, 2000)
		} else {
                    reject(res.msg)
		}
	})
    })
}