JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法

网友投稿 382 2022-09-03

JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法

需求

1. 访问百度地图API 获取指定行政区划的坐标

2. 根据行政区划的坐标,在百度地图上标注行政区划的名称

代码范例 (以在.vue文件中使用为例)

mounted(){ // 调用方法——在百度地图上标注行政区划的名称 this.addRegionLabel('武汉市', '青山区')},

在异步返回数据的方法前加 await在内部存在 await 的方法前加 async

// 添加行政区划文本标注async addRegionLabel(city, region) { let point = await this.getReigonLocation(city, region) // 创建文本标注对象 let label = new BMap.Label(region, {position: new BMap.Point(point.lng, point.lat)}); // 在地图上添加文本标注对象 this.map.addOverlay(label);},

在异步返回数据的方法中

直接 return 异步请求在 .then 中,使用 return Promise.resolve( res.data); 返回异步请求返回值中需要的数据(res.data指代要返回的数据)

// 获取行政区划的坐标getReigonLocation(city, region) { return this.${ params: { query: region, region: city, output: 'json', city_limit: true, ak: this.GLOBAL.baiduMapAK } }).then(res => { let location = res.data.results[0].location return Promise.resolve(location); })},

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:学习Python之Anconda安装第3方库jieba
下一篇:用户越来越精,营销越来越难做,车企如何破局?(汽车营销问题)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~