Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回一个值,然后分配它-可能的竞争条件?_Javascript_Jquery - Fatal编程技术网

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

Javascript 返回一个值,然后分配它-可能的竞争条件?,javascript,jquery,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 = setSo

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

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,我不知道这是我的测试方法还是可能“有”竞争条件发生。只是想缩小范围。

您需要了解这些函数的行为。您所说的行为似乎被触发,因为您的一个(或两个)函数是异步的。您需要在必须首先执行的函数中使用回调。当它完成异步任务时,您将执行第二个任务。

为什么您希望
return
语句后的代码能够执行?我想(我希望!)当您
return
函数结束时,他输入错误(这个词存在?)@james emanon,因此此后不会运行任何东西。嗯。我听到你在说什么,但那是不可能的,因为我的饼干正在准备。如果返回阻止下一个比特发射,那怎么可能发生呢?