Могу ли я убедиться, что функция promises завершена, прежде чем продолжить в R?

я используюcrrriпакет для парсинга некоторых динамических сайтов; однако, когда я запускаю его на нескольких страницах в цикле for, возникает задержка (я предполагаю, что из-заpromises), что означает, что иногда при доступе кhtml_tempфайл, он еще не записан и в результате вместо этого извлекает предыдущую веб-страницу.

Есть ли способ убедиться, что файл был записан до перехода к следующей строке в цикле for?

      html_file <- tempfile(fileext = ".html")

chrome <- Chrome$new()
client <- chrome$connect()

dump_DOM <- function(client,url) {
  Network <- client$Network
  Page <- client$Page
  Runtime <- client$Runtime
  Network$enable() %...>%
    { Page$enable() } %...>%
    { Network$setCacheDisabled(cacheDisabled = TRUE) } %...>%
    { Page$navigate(url = url) } %...>%
    { Page$loadEventFired() } %...>% {
      Runtime$evaluate(
        expression = 'document.documentElement.outerHTML'
      )
    } %...>% {
      writeLines(c(.$result$value, "\n"), con = html_file)
    } %>%
    finally(
      ~ client$disconnect()
    ) %...!% {
      cat("Error:", .$message, "\n")
    }
}

url_list <- c('https://facebook.com','https://twitter.com','https://google.com')

for (i in 1:3){
 client <- chrome$connect()
 client %...>% dump_DOM(url = url_list[i]))
 hlink <- read_html(html_file)
}

0 ответов

Другие вопросы по тегам