首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当一组事件发生时,有没有办法设置一个处理函数?

当一组事件发生时,有没有办法设置一个处理函数?
EN

Stack Overflow用户
提问于 2010-03-16 04:18:45
回答 5查看 141关注 0票数 2

例如,我有两个并发的AJAX请求,我需要这两个请求的结果来计算第三个结果。我使用的是Prototype库,所以它可能看起来像这样:

代码语言:javascript
运行
复制
var r1 = new Ajax.Request(url1, ...);
var r2 = new Ajax.Request(url2, ...);

function on_both_requests_complete(resp1, resp2) {
   ...
}

一种方法是使用轮询,但我认为肯定有更好的方法。

更新:可接受的解决方案必须没有竞争条件。

EN

Stack Overflow用户

发布于 2010-03-16 04:25:02

在每个请求的回调函数上,设置一个布尔值,例如

request1Completerequest2Complete

然后打电话给on_both_requests_complete(resp1,resp2)

在处理函数中,检查是否设置了两个布尔值。如果不是,就返回并退出函数。回调函数应该是序列化的,因为它们不能同时发生,所以这应该是可行的。如果它们可以并行发生,您将在竞争条件下中断。

票数 1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2450179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档