问题描述
async function getIp(retry=0) {
try {
return await http.get()
} catch (e) {
if (retry >= MAX_RETRIES) { throw e }
await setTimeoutAsync(RETRY_INTERVAL)
return await getIp(retry + 1)
}
}
测试函数存根如下:
let clock = sinon.usefaketimers()
let tick = () => { clock.tick(501) }
const fakeClient = sinon.stub().onFirstCall().rejects().callsFake(tick)
.onSecondCall().rejects().callsFake(tick)
.onThirdCall().rejects().callsFake(tick)
.returns(testIp)
程序卡在第一个 await setTimeoutAsync(RETRY_INTERVAL
) .
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)