如何正确在later::later()中使用自定义函数?
解决
later::later()传入函数时的类型错误问题 问题原因
你调用later::later(custfunc(), 1 * 60)时,custfunc()会立即执行并返回mtcars的前几行数据框,而later的第一个参数要求传入函数对象,不是函数执行后的结果,这直接导致了类型不匹配的错误。
解决方案
传递函数本身(不带括号)给later,而不是执行函数后的结果。另外注意:延迟执行场景下,函数内部的输出需要显式调用print才能显示,否则结果不会自动打印。
修正后的代码示例
# 定义自定义函数,添加print确保输出可见 custfunc <- function() { print(head(mtcars)) } # 正确调用later:传递函数对象,不带括号 later::later(custfunc, 1 * 60)
内容的提问来源于stack exchange,提问作者RL_Pug
相关产品推荐
相关产品推荐

