LoginSignup
0
0

More than 3 years have passed since last update.

GoogleMap APIでPromiseを使う

Last updated at Posted at 2019-09-28

ルート検索の際のコールバックをPromise化してみる

        /**
         * ルート検索結果をPromiseに包んで返す
         */
        function routePromise(request) {
            return new Promise(function(resolve, reject) {
                var d = new google.maps.DirectionsService();
                d.route(request, function(result, status){
                    if (status == google.maps.DirectionsStatus.OK) {
                        resolve([result, status]);
                    } else {
                        reject([result, status]);
                    }
                });
            });
        }

これで、呼び出しの際に以下のように使える。ScalaのOptionみたいなものがあれば、もっとちゃんとできるのだけど。

var result, status;
await routePromise(request)
        .then((res) => {
            [result, status] = res; // resolveされたときの返り値
        })
        .catch((err) => {
            [result, status] = err; // rejectされたときの返り値
        });

参考: How to use Promise in Google Map?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0