Promise在IE 11中不起作用-有人可以更改我的代码以起作用吗?

问题描述 投票:-3回答:1

我有以下代码,这些代码在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);
        });
javascript promise internet-explorer-11
1个回答
0
投票

由于IE浏览器不支持Arrow function,因此,首先,我们可以将其转换为ES5。其次,由于Babel online,我们可以在页面的标题处添加以下Polyfill引用:

Promise does not support IE browser
© www.soinside.com 2019 - 2024. All rights reserved.