返回一个值然后分配它 - 可能的竞争条件?

时间:2012-07-22 06:52:10

标签: javascript jquery

如果我有这样的代码 - 让我们简化它。

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,我不知道这是否是我的测试方法,或者是否有“竞争条件”发生。试着缩小范围。

1 个答案:

答案 0 :(得分:0)

您需要知道这些函数的行为方式。您所说的行为似乎被解雇了,因为您的一个(或两个)函数是异步的。您需要在必须首先执行的函数中使用回调。完成其异步任务后,执行第二个任务。