【问题标题】:how do you run two javascript functions independently你如何独立运行两个javascript函数
【发布时间】:2014-10-21 08:50:33
【问题描述】:

我有两个 JavaScript 函数:

vcenter1();
vcenter2();

我需要这个函数来运行一个相互独立的下拉点击事件。

我有这段代码:

$('a[href*="vmware"]').on('click', function () {
    vcenter1();
    vcenter2();
}); 

当我单击下拉菜单时,这些功能会加载,但它们会同时加载。我需要这些函数彼此独立加载。我怎么能这样做?

这是原始问题:

this was the original question on so

【问题讨论】:

  • 它们不会同时加载。 vcenter1 加载稍早。
  • “我需要这个函数来运行一个相互独立的下拉点击事件。” - 这是什么意思?
  • “加载”是什么意思? “相互独立”是什么意思?函数有什么作用?
  • Javascript只有一个线程,除非函数是异步的,否则它们会按照遇到的顺序运行,没有魔法!
  • 仍然无法理解“加载”与“运行”的含义。请向我们展示相关功能的代码。这是一个异步问题吗?

标签: javascript


【解决方案1】:

您必须在第一个异步请求完成后运行第二个函数。

vcenter1 末尾添加:

return req;

然后将你的代码修改为:

$('a[href*="vmware"]').on('click', function () {
    vcenter1().then(vcenter2);
});

【讨论】:

  • 谢谢你的回答,但还是一样,没有变化。
  • 这适用于一次运行一个函数。我将如何修改它以使两个函数同时运行?
  • @user1471980 您的原始代码同时运行。
  • 是的,它看起来正在运行,但在 vcenter2() 完成运行之前,我没有从 vcenter1() 得到任何返回。很奇怪。
  • @user1471980 如果同时运行两者,则速度较快的将首先完成。您调用它们的顺序几乎没有区别。
猜你喜欢
  • 2013-08-03
  • 2020-03-31
  • 1970-01-01
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
  • 2020-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多