javascript - 受限制、可取消的异步函数

标签 javascript

我确信一定有什么东西可以为我做到这一点。

我有一个显示项目列表的网络用户界面。如果你点击一个项目,会发生两件事: UI 将使用立即可用的信息进行更新,然后将发出异步请求以获取更多信息。完成后,它将更新 UI 的另一部分。很简单,对吧?

但是...如果我想限制服务器请求怎么办?如果我在获取该信息时单击另一个项目,并最终出现竞争条件,最终可能会在屏幕上显示错误的信息,该怎么办?如果通过单击另一个项目,我希望有机会取消受到严格限制的获取,该怎么办?

我很清楚执行此操作的代码会是什么样子,但考虑到所有的边缘情况,很高兴知道是否已经有一些东西了?

最佳答案

通常您会使用Semaphores为此,如果您能够在处理信号量中新进程调用的异步信息期间检查信号量,并且它来自同一源。您可能会终止实际的异步进程并启动信号量中的下一个

关于javascript - 受限制、可取消的异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33379548/

相关文章:

javascript - 使用 jQuery 将图像淡入网站

javascript - 从 Dexie promise 中获取值(value)

javascript - 从表行中获取所有数据任务 ID

javascript - 暂停和播放事件会更改 jquery 中的 CSS

javascript - 来自 jquery 的 mvc 日期时间选择器设置值未绑定(bind)到模型

javascript - 逐个字母的复杂文本动画

javascript - child 没有出现在 KendoTreeView Web 中

javascript - 如何从 $(...).html() 方法给出的多行字符串中删除缩进

javascript - 使用多个谷歌图表和jspdf生成PDF

javascript - 如何在react js中的material ui中的列表项上设置点击监听器