我在 Document Ready 上调用了一些 javascript 函数:
fogFields();
getLoS();
getShips();
startGame();
getNextMove();
然而,就好像 getNextMove() 首先被调用,很可能它所做的只是 ajax 调用并警告结果。所有其他函数都有更多的工作,因此,加载时发生的第一件事是 getNextMove() 警报,并且在后台您可以看到其他函数都没有完成其工作。在我单击警报窗口上的“确定”之前,不会显示任何结果。我可以这样做,以便在一个函数完成之前,下一个函数甚至不会启动。有些函数在完成之前调用自己的额外函数,并且按顺序工作,但我无法用整个代码来做到这一点......
最佳答案
鉴于您问题中的代码,无法调用 getNextMove
可以在startGame
之前调用已退出,无论其内容如何。
可能确实有一个已异步调度的函数(通过超时、AJAX 回调等)在 startGame
内在调用 getNextMove
之前或之后的任何时间完成,但这是一个单独的问题。为了解决这个问题,我们需要更多地了解函数的内容。
关于javascript - 执行函数的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18004156/