【发布时间】:2016-03-22 17:29:31
【问题描述】:
我想做这样的事情:
var x = function(){
if (controlVar === 0) {
setTimeout(x, 300);
}
else {
return value;
};
js中是否有一种方法可以像同步代码(var z = x())一样调用函数并仅在我的controlVar转为1时才返回值?
这不应该阻塞,因为当我使用 setTimeout 时,主循环应该能够控制,但如果阻塞对我来说无关紧要。
谢谢。
【问题讨论】:
-
请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。
-
对不起,这不能阻塞,因为如果阻塞我的 controlVar 不能转入 1。
-
请尝试描述您想要实现的目标,而不仅仅是问题。
-
为了澄清,我想调用一个递归函数,该函数仅在像信号量一样的变量变为绿色时才返回。我想这样调用这个函数 'var x = f(z)'
-
没有。如果你不想阻塞(也不想阻塞),你不能
return异步回调的值。
标签: javascript asynchronous settimeout