限制,可取消的异步功能

时间:2015-10-27 22:24:56

标签: javascript

我确定必须有一些东西能为我做这件事。

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

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

为了做到这一点,我已经对代码的外观有了一个很好的了解,但是对于所有边缘情况,我们很高兴知道那里是否有某些东西?

2 个答案:

答案 0 :(得分:1)

Normaly你会使用Semaphores,所以如果你能够在处理信号量中新进程调用的同步信息时检查信号量,它来自同一个源。你可能会杀死acutal异步进程并在信号量中启动 next

答案 1 :(得分:0)

查看下划线功能throttledebounce。您可以在带注释的来源http://underscorejs.org/docs/underscore.html#section-82

中查看它是如何实现的