如何在R脚本出错时暂停执行

3
当我使用的API请求错误时,我希望能够使用sys.sleep函数来延迟请求时间。像这样的错误信息:

Error in open.connection(con, "rb") : HTTP error 429.

我应该使用trycatch吗?
data<- fromJSON("https://api.com")

感谢您!
1个回答

3
您可以使用try-catch。
tryCatch(myfunc(), error=function(e) Sys.sleep(1))

非常感谢!它似乎运行良好,尽管它看起来只会在发生1个错误后执行Sys.sleep,但在2个错误后不会再执行。因此,我能否将您建议的内容与while循环混合使用?为了表示“只要存在错误,就执行Sys.sleep”。 - ML_Enthousiast
2
我认为以下是您正在寻找的内容。请查看发布的重试函数,它将重试可配置次数的操作,并在尝试之间进行可配置的等待:https://dev59.com/JWIi5IYBdhLWcg3w9wYU - Carlos Santillan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接