我有一个特定的应用程序,应该实现以下功能:
非常感谢!
- 你有一个作业列表需要检查
- 当你点击一个作业时,会进入到详细视图界面
- 详细视图将轮询API以查看实时进度更新
Job.svelte
视图应该在提供新ID时基本重置,并清除任何先前的轮询器,但现在通过底部的反应式语句非常棘手。- 由于轮询器执行异步获取,因此可能发生超时处理程序
poller
被清除的情况,即使处理程序已经在执行。这会导致多个轮询器循环出现(可以通过在0和2秒之间的随机时间间隔内点击作业列表来复现此问题) - 当前方法不友好且容易破坏。上述 "错误" 可以通过跟踪引用 /锁定等方式进行修复,但这样更难理解。
非常感谢!
setTimeout
而不是setInterval
的原因。 - Wilco@sveltejs
和@SvelteSociety
账户。Svelte Society 上周日举行了一个关于各种主题的会议(我还没有时间观看,但计划观看):https://www.youtube.com/watch?v=0rnG-OlzGSs。至于setInterval
建议,那只是一个建议。如果您的需求需要不同的方法,那也是完全有效的理由。您也可以使用套接字而不是轮询并推送进度更新。有很多方法可以解决问题(尽管听起来很可怕)。 ;) - Thomas Hennes