你習慣在js代碼中使用async await嗎? 我經常在js代碼中寫一些非同步方法,使用await調用的地方,如果方便修改成非同步方法,就修改成非同步方法,如下所示: async setPosition(graphic, lng, lat) { this.lng = lng; this.lat = la ...
你習慣在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);
})();
這個方法也有缺點,就是它不會等待返回結果,如果需要等待這個返回結果,就不能使用這種方法。