httr::GET() 无法处理 purrr::safely()?

httr::GET() can't be handled purrr::safely()?

这可能是我的基本误解,但我认为 purrr::safely() 捕获了所有错误并且从未失败过。然而:

> purrr::safely(httr::GET('http://revolution-news.com/'))
Error in curl::curl_fetch_memory(url, handle = handle) : 
  Couldn't resolve host name

safely 是函数包装器,而不是函数调用包装器。使用

purrr::safely(httr::GET)('http://revolution-news.com/')

注意它是如何封装函数 GET() 的,而不是 get 的调用。您可以将其分解为

safe_GET <- purrr::safely(httr::GET)
safe_GET('http://revolution-news.com/')