如果我有这样的代码 - 让我们简化它。
someObj.newVal = returnSomVal();
function returnSomVal(){
return grabproperVal();
}
function grabproperVal(){
var someVal;
//some js figuring to get proper value for somVal;
return someVal
someObj.newVal = setSomeCookie(someObj.newVal,'cookiename');
}
是否存在发生这种情况的竞争条件:
someObj.newVal = setSomeCookie(someObj.newVal,'cookiename');
在此分配发生之前:
someObj.newVal = returnSomVal();
我“有时”错过了var,我不知道这是否是我的测试方法,或者是否有“竞争条件”发生。试着缩小范围。
答案 0 :(得分:0)
您需要知道这些函数的行为方式。您所说的行为似乎被解雇了,因为您的一个(或两个)函数是异步的。您需要在必须首先执行的函数中使用回调。完成其异步任务后,执行第二个任务。