Shiny: أضف outputOptions () للسماح للمخرجات بالتقديم في أسرع وقت ممكن بدلاً من انتظار التدفق

تم إنشاؤها على ١١ مايو ٢٠١٧  ·  4تعليقات  ·  مصدر: rstudio/shiny

ضع في اعتبارك هذا الرمز

library(shiny)

ui <- fluidPage(
  actionButton("btn", "Click"),
  uiOutput("out")
)

server <- function(input, output) {
  values <- reactiveValues(foo = NULL)

  observeEvent(input$btn, {
    values$foo <- "bar"
     Sys.sleep(1)
  })

  output$out <- renderUI({
    values$foo
  })
}

shinyApp(ui = ui, server = server)

سيكون من المفيد أن تكون قادرًا على إخبار اللمعان بتحديث إخراج النص فورًا عند تعيين القيمة التفاعلية بدلاً من انتظار التدفق.

Consult Team Advanced High Low Type

التعليق الأكثر فائدة

قرأت هذا في مكان ما في مستندات الحزمة غير المتزامنة:

لم يتم استلام أي مدخلات من المتصفح حتى تكتمل جميع المخرجات / المراقبون غير المتزامن المعلق.

ذكرني بهذه القضية. هذا يعني أن عدم التزامن لن يكون مفيدًا لشخص يقوم بعملية حسابية باهظة الثمن ويريد الاستمرار في التمكن من استخدام التطبيق. أعتقد أن القدرة على معرفة اللمعان للسماح بإخراج الإخراج متى كان جاهزًا دون حظر الآخرين ، إلى جانب القدرة غير المتزامنة الجديدة ، ستكون قوية جدًا.

ال 4 كومينتر

(شكرا!)

أود حقًا أن أرى هذه الميزة مضافة أيضًا.

إذا كان مجرد حقل نصي أجد أن هذا يعمل (لقد قمت بلفه داخل observeEvent ):

withCallingHandlers({
  shinyjs::html("txt_field", "")
  message('foo')
},
message = function(m) { shinyjs::html(id = "txt_field", html = m$message, add = TRUE) }
)

قرأت هذا في مكان ما في مستندات الحزمة غير المتزامنة:

لم يتم استلام أي مدخلات من المتصفح حتى تكتمل جميع المخرجات / المراقبون غير المتزامن المعلق.

ذكرني بهذه القضية. هذا يعني أن عدم التزامن لن يكون مفيدًا لشخص يقوم بعملية حسابية باهظة الثمن ويريد الاستمرار في التمكن من استخدام التطبيق. أعتقد أن القدرة على معرفة اللمعان للسماح بإخراج الإخراج متى كان جاهزًا دون حظر الآخرين ، إلى جانب القدرة غير المتزامنة الجديدة ، ستكون قوية جدًا.

لم يتم استلام أي مدخلات من المتصفح حتى تكتمل جميع المخرجات / المراقبون غير المتزامن المعلق.

فقط للتسجيل: فيما يتعلق بعدم المزامنة ، يوجد

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات