我在JavaScript中涉及ajax调用时遇到过很多关于执行顺序问题的问题。
如果没有ajax调用,可以安全地假设代码将从上到下执行吗?
说,我在下面有这个代码。我调用的所有函数都没有任何异步调用。
someFunction() {
// Call some external function
doSomething();
// Then call another external function
const x = doSomethingElse();
if(x === 0) {
// Call third function
thirdFunction();
}
}
目前,我遇到的情况似乎是先没有调用doSomething()
。这可能吗?
P.S。我在React / Redux应用程序中遇到此问题,而doSomething()
是一个应该重置/清除商店中某些内容但当前无效的操作。
答案 0 :(得分:1)
除了ajax调用无法解决的承诺(例如,等待从未发生过的事件的事件侦听器)以及被推送到下一个事件周期的超时代码也是异步的。
如果doSomething()中包含其中任何一个,那么它可能无法执行。
答案 1 :(得分:0)
是。如果你没有任何具有AJAX等异步调用的函数,那么执行顺序总是和它一样。