【问题标题】:Calling xajax/ javascript function at the same time同时调用xajax/javascript函数
【发布时间】:2013-02-07 09:19:20
【问题描述】:

我想问一下有没有办法同时执行相同的功能.. 看看这个。。

function convert_points()
{
    show_loading();
    xajax_ConvertPoints();
    xajax_GetRegularGamingCards();  
}

当调用 xajax_ConvertPoints 时。调用 xajax_GetRegularGamingCards 后的 MILISECOND 延迟。我证明了,因为我在每个函数中都放了日志..就像这样..

2013-02-07 17:13:53 || LAUNCHPAD42 || TRANSACTION TYPE: CONVERT POINTS || SWCQAZ1 ||
2013-02-07 17:13:53 || LAUNCHPAD43 || TRANSACTION TYPE: CONVERT POINTS || SWCQAZ1 ||
2013-02-07 17:13:53 || LAUNCHPAD44 || TRANSACTION TYPE: CONVERT POINTS || SWCQAZ1 ||
2013-02-07 17:13:53 || LAUNCHPAD45 || TRANSACTION TYPE: CONVERT POINTS || SWCQAZ1 ||
2013-02-07 17:13:54 || LAUNCHPAD46 || TRANSACTION TYPE: CONVERT POINTS || SWCQAZ1 ||
2013-02-07 17:13:54 || LAUNCHPAD47 || TRANSACTION TYPE: CONVERT POINTS || SWCQAZ1 || 
2013-02-07 17:13:54 || LAUNCHPAD48 || TRANSACTION TYPE: CONVERT POINTS || SWCQAZ1 ||

2013-02-07 .54 和 .53 (2013-02-07 17:13:53) MILISECONDS 存在差异。 有什么方法可以在准确的时间调用它吗?

【问题讨论】:

  • 恐怕不行。 Javascript 总是在一个线程中工作。也许你能说出你为什么需要它?
  • 我确定您的问题还有其他解决方案

标签: php javascript function xajax


【解决方案1】:

在任何一种语言中,都不可能保证在同一毫秒内执行同一行代码。在 JavaScript 中,您可以在不等待结果的情况下执行函数并使用 setTimeout 继续执行另一行

function convert_points(){
    setTimeout(show_loading,0);
    setTimeout(xajax_ConvertPoints,0);
    setTimeout(xajax_GetRegularGamingCards,0);  
}

【讨论】:

  • 感谢所有回复。如果可行,我会向大家更新。
【解决方案2】:

当您的 Javascript 代码执行时,它一次只能从一个线程执行,因此不可能同时执行这两个函数,因为它们是按顺序执行的。

【讨论】:

    【解决方案3】:

    Javascript 在单个线程中运行,因此在任何情况下它们都将按顺序运行。

    是什么让您要求它们同时执行?为什么不通过将两个脚本连接在一起来将它们连接到一个 ajax 请求中呢?

    另一种选择是通过在其中添加sleep 或其他内容来延迟您正在调用的脚本的执行。但我真的不推荐这个。我建议的最好方法是让一个脚本做你需要做的事情,而不是两者兼而有之。

    如果是需要数据同时性的数据库操作,您可以使用事务式命令来确保不存在纳秒级的数据差异。这更好,因为无论出于何种原因,您需要同时调用它们,从最终用户的角度来看,可以很容易地在客户端更改 javascript。这就是为什么最好在服务器上执行此操作的原因。

    【讨论】:

    • thanks.but 情况是,如果它运行该功能,则设备会失去互联网连接。第二个功能没有运行。所以我想同时运行它..谢谢
    • 它们都将运行,因为它们将在服务器上进行处理。事务型系统基本上是如果流程的一部分失败,则什么都不提交。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多