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,因此此后不会运行任何东西。嗯。我听到你在说什么,但那是不可能的,因为我的饼干正在准备。如果返回阻止下一个比特发射,那怎么可能发生呢?