问题描述
我正在使用 node.js 库,它与一些 RPC 服务器进行通信。问题是有时来自库的函数调用会导致无限循环(大约 500 分之一的机会,因此很难调试)。我想该库没有正确处理超时逻辑。
我想自己实现这个逻辑,但不知道如何中断内部函数的执行。 总而言之,我想创建一个包装函数,它会在超时后中断回调函数并重试调用。
用法示例:
const response = await contract.someAction()
回调包装器:
async function retry(callback,timeout,retryAttempts) {...}
const response = await retry(contract.someAction(),10000,3)
如果我理解正确,像 https://github.com/vercel/async-retry 这样的一些解决方案只有在回调函数抛出异常时才有效,但对无限循环没有帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)