簡體   English   中英

RStudio Viewer引發錯誤

[英]RStudio Viewer throws error

問題

RStudio的某些版本在我的JavaScript小部件的“查看器”窗格中引發錯誤,而某些則沒有。


我為googleway包創建了一個htmlwidget,用於繪制Google Map。

要重現此問題(如果確實是系統上的問題),只需運行此代碼

devtools::install_github("SymbolixAU/googleway")
library(googleway)
google_map(key = '')  ## you don't need a key to see the error

但是,如果您想查看地圖,則需要一個Google Maps API密鑰


描述

我遇到的問題是,在某些版本的Rstudio中,地圖顯示在“ 查看器”窗格中,而在其他版本中則沒有。

當我“檢查”查看器(右鍵單擊>檢查>控制台)時,出現錯誤

語法錯誤:意外的標識符“ i”。 在枚舉語法中應為“ in”或“ of”。

在此處輸入圖片說明

哪個鏈接到javascript中的for循環(請參閱屏幕截圖和源代碼

在此處輸入圖片說明


今天早上,我在引起錯誤的系統上升級了Rstudio,但它仍然給出錯誤。

以下兩個屏幕截圖顯示了帶有Rstudio的兩種不同的Mac(均運行OS Sierra),以及以下示例

  • Rstudio v1.0.143-無法正常工作
  • Rstudio v1.0.136-工作

在此處輸入圖片說明

在此處輸入圖片說明

為什么某些版本的RStudio會引發錯誤,而有些卻沒有?

@timelyportfolio的建議(再次!)有助於找到解決方案。

我不認為該問題是純粹由於Rstudio引起的,還是涉及其他因素,尤其是該小部件在較舊的版本上工作時,但現在我將其作為解決方案。

let在線路

for (let i = 0; i < data.calls.length; i++) {

並非在所有瀏覽器中都支持,因此將其更改為var用於該行(以及所有使用let的行)。

我也在使用這種方法在數組中查找值

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;
}

似乎也解決了這個問題。

等等!

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM