Обещание не работает в IE 11 - Кто-нибудь может изменить мой код, чтобы работать? - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть следующий код, который прекрасно работает в Google Chrome, но не в Internet Explorer 11. Я уже узнал, что обещания не работают в IE, но кто-нибудь может подсказать, как мне изменить свой код, чтобыработать для обоих браузеров?

function getCoords(address) {
            return new Promise((resolve) => {
                $.getJSON(`https://maps.googleapis.com/maps/api/geocode/json?key=mykeyhere=${address}&sensor=false`, function(data) {
                    resolve(data.results[0].geometry.location);
                });
            });
        }
        Promise.all([getCoords(iplan_terminal_from), getCoords(iplan_terminal_to)])
        .then(route => {
            var lineSymbol = {
                path: 'M 0,-1 0,1',
                scale: 3,
                strokeOpacity: 1                    
            };
            var ferry_route_line = new google.maps.Polyline({
                geodesic: true,
                path: route,
                strokeColor: '#357AC7',
                strokeOpacity: 0,
                icons: [{
                    icon: lineSymbol,
                    offset: '0',
                    repeat: '15px'
                }]
            });
            ferry_route_line.setMap(map);
        });

1 Ответ

0 голосов
/ 27 сентября 2019

Поскольку функция Arrow не поддерживается в браузере IE, во-первых, мы могли бы использовать Babel online перевод этого в ES5.Во-вторых, поскольку Promise не поддерживает браузер IE , мы могли бы добавить следующую ссылку Polyfill в заголовок страницы:

<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>
...