仅适用于Visual Studio的JavaScript语法错误

仅适用于Visual Studio的JavaScript语法错误,javascript,visual-studio,Javascript,Visual Studio,出于某种原因,下面的JS声明会导致Visual Studio中出现语法错误,并且在Windows Phone浏览器中也无法执行,但对于其他IDE(如NetBeans)来说,这是完全正确的 该函数来自Hello World示例,语法错误位于注释行中: function initWindyMap(lat, lon, key, particlesAnim) { const options = { key: key, lat: lat, lon:

出于某种原因,下面的JS声明会导致Visual Studio中出现语法错误,并且在Windows Phone浏览器中也无法执行,但对于其他IDE(如NetBeans)来说,这是完全正确的

该函数来自Hello World示例,语法错误位于注释行中:

function initWindyMap(lat, lon, key, particlesAnim) {
    const options = {
        key: key,
        lat: lat,
        lon: lon,
        verbose: false,
        zoom: 6
    };
    windyInit(options, windyAPI => { 
        const {overlays, store, map} = windyAPI; /* syntax error on this line */
        store.set('lang', 'es');
        store.set('englishLabels', true);
        store.set('particlesAnim', particlesAnim);
        overlays.wind.setMetric('km/h');
        map.options.minZoom = 6;
        map.options.maxZoom = 6;
        map.dragging.disable();
        map.doubleClickZoom.disable();
        map.scrollWheelZoom.disable();
        L.marker(map.getCenter()).addTo(map);
    });
}
下面是VisualStudioIDE的屏幕截图,以了解更多详细信息

问题是:是否有更正统的方法来声明此函数并避免此错误?当然,这是几分钟前发布的Chrome新JS调整中的有效语法,但在这种情况下,我需要使用经典的标准JS语法。。。提前谢谢

问题是:是否有更正统的方法来声明此函数并避免此错误?

这是一个箭头函数。自2015年以来,它们一直是标准JavaScript语法。所有模糊的现代浏览器都支持它们(所以不是IE11)

您可以改用传统功能:

windyInit(options, function(windyAPI) {
    // ...
});
由于您的函数不使用此,因此除了将语法从箭头更改为传统之外,您无需执行其他操作。(箭头函数和传统函数之间的一个区别是箭头函数关闭了
,而不是通过调用方式设置
。有关箭头函数的详细信息。)