0

我想问是否有任何方法可以同时执行相同的功能..看到这个..

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 之间存在差异。有什么方法可以在确切的时间调用它吗?

4

3 回答 3

0

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

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

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

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

于 2013-02-07T09:58:17.010 回答
0

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

于 2013-02-07T09:27:20.687 回答
0

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

function convert_points(){
    setTimeout(show_loading,0);
    setTimeout(xajax_ConvertPoints,0);
    setTimeout(xajax_GetRegularGamingCards,0);  
}
于 2013-02-07T09:29:36.650 回答