JavaScript async await 使用
你习惯在js代码中使用async await吗?
我经常在js代码中写一些异步方法,使用await调用的地方,如果方便修改成异步方法,就修改成异步方法,如下所示:
async setPosition(graphic, lng, lat) {
this.lng = lng;
this.lat = lat;
if (graphic) {
let height = await getHeightByLngLat(map, lng, lat);
graphic.position = [lng, lat, height];
}
}
但是,有些地方不方便把方法修改成异步的,比如,没办法把构造函数写成异步的,那怎么办呢?
可以使用如下方法:
(async () => {
let result = await getScene(this.sceneId);
})();
这个方法也有缺点,就是它不会等待返回结果,如果需要等待这个返回结果,就不能使用这种方法。