此警告的含义;“警告消息:在 get(object,envir = currentEnv, inherits = TRUE) 中:重新开始中断的承诺评估”

i_l*_*ate 5 error-handling warnings r

我在 R 中编写了一个函数,它从数据库中提取数据并构建一个新表。

我的新表格标有摘录日期 ( build_date_0)。

当我调试我的函数时,当我查看我的日期字符串时,我收到以下警告:

Browse[2]> build_date_0
[1] "2019-05-01"
Warning message:
In get(object, envir = currentEnv, inherits = TRUE) :
  restarting interrupted promise evaluation
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 这个警告是什么意思/发生了什么(分步/基本)?
  2. 我应该关心吗?
  3. 一般来说,我如何才能找到有关此错误的更多信息?

这是我的代码:

build_account_db = function(conn = connection_object
                            ,various_inputs = 24){
browser()

# create connection objects
tabs_1 = dplyr::tbl(conn,in_schema("DB_1","VIEW_W") # some table

# create date string
  build_date_0 = lubridate::today() %>% as.character()
  build_date = str_replace_all(build_date_0,"-+","_")
  db_name_1 = paste0('DATABASE.tab_1_',build_date)
  db_name_2 = paste0('DATABASE.tab_2_',build_date)

# build query
query_text_1 = tabs_1 %>% select(COL_1) # some query
query_text_1 = tabs_1 %>% select(COL_2)

# build new tables
create_db = DBI::dbSendQuery(conn_t,paste('CREATE TABLE',db_name_1,'AS (',query_text_1,') WITH DATA PRIMARY INDEX (ID_1)'))
create_db2 = DBI::dbSendQuery(conn_t,paste('CREATE TABLE',db_name_2,'AS (',query_text_2,') WITH DATA PRIMARY INDEX (ID_1)'))

}
Run Code Online (Sandbox Code Playgroud)

当我检查一个变量时,我可能会也可能不会收到这个警告(它会有所不同,即使我重新启动 R,并在清除的环境中再次运行我的代码)

Browse[2]> build_date
[1] "2019-02-28 11:00:00 AEDT"
Warning message:
In get(object, envir = currentEnv, inherits = TRUE) :
  restarting interrupted promise evaluation
Run Code Online (Sandbox Code Playgroud)

我试过的:我读了这个问题,但更多的是关于抑制错误。还有,谷歌。

mka*_*et3 1

我发现这个关于 R 中的承诺和评估的链接对相关问题很有帮助:https://mailund.dk/posts/promises-and-lazy-evaluation/。我想知道build_date_0 = lubridate::today() %>% as.character()如果您添加一个调用来build_date_0解决承诺,是否会解决这个问题?祝你好运!