gpt4 book ai didi

javascript - javascript中的多线程和订阅/发布方法

转载 作者:行者123 更新时间:2023-11-30 07:29:49 25 4
gpt4 key购买 nike

我知道 javascript 不支持多线程。我想要一些关于以下情况的专家建议..

我的要求是执行 AJAX 调用,成功完成后,我想触发一组事件(并行更新 UI 的不同部分)

  • 我计划使用订阅/ Release模式,是否可以将多个监听器订阅到 AJAX 完成事件。
  • 如果可能的话,我想知道这些监听器是如何在发布时收到通知的……(以多线程方式并行或一个接一个)。

    并建议我实现这一目标的最佳方法。我非常感谢你的想法。

编辑::

我知道像 JQuery 这样的流行框架支持这种模式。但是我可以从头开始开发此功能(我们有自己的框架)。

最佳答案

我有一个 Request Pooler,它可以让您在这里有个良好的开端。 [自从这个答案被接受后,我已经淘汰了 pooler,转而使用更完整的“AJAX Helper”- 链接已更新。]

我不确定这是否会满足您的所有需求(尽管听起来可能很接近)。它很旧,但有效:

Depressed Press DP_AJAX

它支持多个具有超时/重试的同时请求,每个请求的处理程序,占用空间非常小,可以很容易地与其他代码结合。

您创建一个池(告诉它允许同时请求的数量),然后向它发送请求。完成后,他们会调用您指定的任何处理程序。

一个小而完整的使用示例:

        // The handler function
function AddUp(Num1, Num2, Num3) {
alert(Num1 + Num2 + Num3);
};

// Instantiate the Pool
myRequestPool = new DP_RequestPool(4);

// Start the Interval
myRequestPool.startInterval(100);

// Create the Request
myRequest = new DP_Request(
"GET",
"http://www.mysite.com/Add.htm",
{"FirstNum" : 5, "SecondNum" : 10},
AddUp,
[7,13]);

// Add the request to the queue
myRequestPool.addRequest(myRequest);

它是开源的 - 随意砍/折叠/纺锤或毁坏它到你心满意足。

吉姆戴维斯

关于javascript - javascript中的多线程和订阅/发布方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1271977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com