场景:进入一个页面得到id。然后用id去请求一个接口得到另一个id,用最后的id去拼接webscoket后面建立双向通信。
问题:拿id去接口请求另一个id的时候,后台在返回值里面id有时候是null或者‘’,这个时候就需要我再次去请求,直到能够拿到id为止。但是每一次请求也要有间隔时间去等待隔一秒调一次接口调5次。如果五次都没结果。那么久没结果把。。这里后台设计有点问题。可能6次,7次八就有结果呢?。
实现:

1.wait函数返回一个promis对象,setTimeout(res, ms),res成功后的执行。
return getFinalPublishId(this.data).then(result ===》result 得到一个结果集 判断
count 计数器。
这里的点then就是上面wait函数成功后的res函数(reslove)。相当于一个递归没有取到id就继续调用自己。
本文介绍了一种在前端开发中遇到的问题:当从后端获取ID失败时,通过递归方式持续请求直到成功的方法。文章详细解释了如何使用Promise和setTimeout实现这一逻辑,并讨论了在实际应用中需要注意的时间间隔和尝试次数等问题。
878

被折叠的 条评论
为什么被折叠?



