没有异步的JavaScript中的执行顺序

时间:2017-09-07 05:04:51

标签: javascript reactjs redux react-redux

我在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()是一个应该重置/清除商店中某些内容但当前无效的操作。

2 个答案:

答案 0 :(得分:1)

除了ajax调用无法解决的承诺(例如,等待从未发生过的事件的事件侦听器)以及被推送到下一个事件周期的超时代码也是异步的。

如果doSomething()中包含其中任何一个,那么它可能无法执行。

答案 1 :(得分:0)

是。如果你没有任何具有AJAX等异步调用的函数,那么执行顺序总是和它一样。