R Shiny server.R中的条件语句

时间:2017-12-18 16:08:17

标签: javascript json r shiny

我成功创建了一个Shiny应用程序,它使用Shiny.addCustomMessageHandler()函数与javascript程序连接。然后javascript程序将JSON返回给Shiny。下一步是检查javascripts返回的JSON,并根据类型在R Shiny中执行特定操作。我有来自server.R的这个片段,它应该满足这个要求:

  eventReactive(input$jsQLK,{
    b <- fromJSON(input$jsQLK)
    if(is.null(b) || is.na(b)){
      print('0')
    }
    else if(b$result$Layout$Type == "A"){
      print('yay')
    }
    else if(b$result$Layout$Type == "B"){
      print('nay')
    else
      print('k')
  })

与它一起运行的javascript,如下所示:

  Shiny.addCustomMessageHandler("tx", Tx);
//Other code and creation of websocket
  function Tx(msg){
    ws.send((msg.req));

    ws.onmessage = function (event) {
      console.log(event.data);
      Shiny.onInputChange('jsQLK',event.data);
    }
  }

运行此功能,不会打印任何内容。如果我使用observeEvent,我得到错误:&#34; if:error的长度为零&#34;和ERROR:[on_request_read]连接由peer重置

我如何成功实现这一目标?

0 个答案:

没有答案