很抱歉,标题很难理解,因为这绝对是一个奇怪的问题。
我认为此屏幕截图最能说明正在发生的事情,并且从每种编程角度看对我来说都是没有意义的。不管是解释PL还是编译PL,我都希望同一函数中的两行以连续的顺序求值。
但是在这种情况下不是:
您可以在这张并排的屏幕截图中清楚地看到,我本想在第一行(连续地说)之后(连续地说)先打印/评估过的行。
这对我来说是个问题,因为我在React组件构造函数中调用index.getObject
方法的全部原因是要在对象本身中使用响应。所以现在所有的React组件都只使用destName = null
。
有人可以解释这种行为吗? (如果有办法确保第一行首先得到评估,则可获得加分)
解释行为的其他图片:
答案 0 :(得分:0)
正如@RandyCasburn所暗示的那样,这似乎与您的index.getObject
方法是异步JavaScript调用有关。这意味着,在调用index.getObject
时,JavaScript在等待index.getObject
调用的结果时会继续执行代码。
以下是有关堆栈溢出的异步JavaScript问题的规范答案:Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference