質問: position.coords.longitude; console.log("lat:" + gpslat + "\nlng:" + gpslng); }, e => { } ); console.log("3"); console.log("lat:" + gpslat + "\nlng:" + gpslng); } ``` これも期待した動作にはなりませんでした。 どう書き直せば期待する動作になりますか。 皆様のお力添えをいただけましたらありがたいです。 何卒よろしくお願いいたします。
回答: **`await`が待機できるのは、`Promise`オブジェクトだけ**です。`navigator.geolocation.getCurrentPosition()`は何も返さない関数なので、`await`を指定しても効果がありません。 `Promise`を作ってあげればうまく動くでしょう。 ``` console.log("1"); let position = await new Promise((resolve, reject) => { navigator.geolocation.getCurrentPosition(resolve, reject); }); console.log("2"); gpslat = position.coords.latitude; gpslng = position.coords.longitude; console.log("lat:" .....); console.log("3"); console.log("lat:" .....); ```