【发布时间】:2022-08-18 22:28:53
【问题描述】:
R httpuv startServer 函数应该在 app 参数的调用部分支持异步处理,但我无法让它工作。有谁知道如何做到这一点?下面的示例不起作用,但它显示了我正在尝试执行的操作,异步运行每个请求(或特定页面),以便在另一个请求正在处理时加载页面。
startServer(
host,
port,
app = list(
call = function(req) {
req <- list(
\"REQUEST_METHOD\" = req$REQUEST_METHOD,
\"SCRIPT_NAME\" = req$SCRIPT_NAME,
\"PATH_INFO\" = req$PATH_INFO,
\"QUERY_STRING\" = req$QUERY_STRING,
\"SERVER_NAME\" = req$SERVER_NAME,
\"SERVER_PORT\" = req$SERVER_PORT,
\"HEADERS\" = req$HEADERS,
\"rook.input\" = req[[\"rook.input\"]]$read_lines()
)
future_promise({
if(req$PATH_INFO %in% valid_dynamic_paths){
x <- eval(dynamic[[req$PATH_INFO]][req$REQUEST_METHOD])
list(
status = x[[\"status\"]],
headers = x[[\"headers\"]],
body = x[[\"body\"]]
)
}else{
list(
status = 404,
headers = list(
\'Content-Type\' = \'text/html\'
),
body = \"404. Page not found.\"
)
}
})
},
staticPaths = static
)
)
-
你能找到解决这个问题的方法吗?我看到(假设)您的Github issue 已完成关闭。