如何解决在 R/Shiny 中获取、等待语法?
在 R/Shiny 中,我们可以使用 library(promises) 和 library(future) 来异步处理事件。但是我似乎无法找到一种方法将它与 library(httr) 结合起来做类似于 fetch/await/async 的事情,您可以在其中设置一个承诺,当 httr 请求成功时它会解决。是否可以在 R/Shiny 中设置在 httr 请求成功时解决的承诺?或者你可以只做类似下面的事情,首先检查是否会出现 http 错误?
library(shiny)
library(promises)
library(future)
plan(multisession)
ui <- fluidPage(
textoutput("success"),textoutput("fail")
)
server <- function(input,output,session) {
output$success <- renderText({
# 201 success command should return
get_command_1 <- httr::GET("http://httpbin.org/status/201")
print(http_error(get_command_1))
if(http_error(get_command_1)) {
future(get_command_1) %...>%
httr::content("parsed")
}
else {
paste0(get_command_1$url," Failed")
}
})
output$fail <- renderText({
# but not 500 error command
get_command_2 <- httr::GET("http://httpbin.org/status/500")
print(http_error(get_command_2))
if(http_error(get_command_2)) {
future(get_command_2) %...>%
httr::content("parsed")
}
else {
paste0(get_command_2$url," Failed")
}
})
}
shinyApp(ui = ui,server = server)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。