某些版本的RStudio在我的javascript小部件的Viewer窗格中抛出了一个错误,有些版本没有。
我为我的htmlwidget软件包创建了googleway
,用于绘制Google地图。
要重现此问题(如果您的系统确实存在问题),您只需运行此代码
即可devtools::install_github("SymbolixAU/googleway")
library(googleway)
google_map(key = '') ## you don't need a key to see the error
但如果您想查看地图,则需要Google Maps API key
我遇到的问题是,在某些版本的Rstudio中,地图会显示在 Viewer 窗格中,而在其他版本中则不会显示。
当我"检查"查看器(右键单击>检查>控制台),我收到错误
SyntaxError:意外的标识符' i'。预计要么' in'或者'在枚举语法中。
指向javascript中的for
循环的链接(请参见屏幕截图和source code)
今天早上我在导致错误的系统上升级了Rstudio,但它仍然给出了错误。
以下两个屏幕截图显示了两个不同的Mac(都运行OS Sierra)和Rstudio,以及
的示例为什么某些版本的RStudio会抛出错误,有些版本不会出错?
答案 0 :(得分:3)
我不相信这个问题纯粹是由于Rstudio,或者还有其他因素,特别是因为小部件适用于旧版本,但是现在我将把它作为解决方案。
行中的let
for (let i = 0; i < data.calls.length; i++) {
并非所有浏览器都支持,因此将其更改为var
适用于该行(以及使用let
的所有行)。
我还在使用this method来查找数组中的值
data_.find(x => x.id === _id)
所有浏览器都不再支持,因此还原为
function findById(source, id) {
for (var i = 0; i < source.length; i++) {
if (source[i].id === id) {
return source[i];
}
}
return;
}
似乎也解决了这个问题。
et voila!