我想问一下,有没有办法同时执行相同的函数。看看这个。
function convert_points()
{
show_loading();
xajax_ConvertPoints();
xajax_GetRegularGamingCards();
}
当xajax_ConvertPoints被调用时。调用xajax_GetRegularGamingCards后的毫秒延迟。我证明了这一点,因为我在每个函数中放入了日志。像这样..。
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)毫秒存在差异。有没有办法在准确的时间调用它?
发布于 2013-02-07 17:29:37
在任何一种语言中,都不可能保证同一行代码在同一毫秒内执行。在JavaScript中,您可以不等待结果就执行函数,然后使用setTimeout继续执行另一行
function convert_points(){
setTimeout(show_loading,0);
setTimeout(xajax_ConvertPoints,0);
setTimeout(xajax_GetRegularGamingCards,0);
}
发布于 2013-02-07 17:27:21
当你的Javascript代码被执行时,它一次只能从一个线程发生,所以不可能同时执行这两个函数,因为它们是按顺序执行的。
发布于 2013-02-07 17:58:17
Javascript在单个线程中运行,因此在任何情况下,它们都将按顺序运行。
是什么让你要求它们同时执行?为什么不通过将两个脚本连接在一起来将它们连接到一个ajax请求中呢?
另一种选择是通过在脚本中放入一个sleep
之类的东西来延迟您调用的脚本的执行。但我真的不推荐这样做。我最好的建议是让一个脚本来做你需要的事情,而不是两个都做。
如果这是一个同时需要数据的DB操作,您可以使用transact样式的命令来确保没有一纳秒的数据差异。这样做更好,因为无论出于什么原因,您都需要同时调用它们,从最终用户的角度来看,可以非常容易地在客户端更改javascript。这就是为什么在服务器上做这件事更好。
https://stackoverflow.com/questions/14747508
复制相似问题