我使用 ajax 调用从服务器获取计时器的值。我必须在 setTimeout(( 方法中使用该值进行超时。如何使用函数而不是实际值。
这是我的代码:
if(isStopped) {
setTimeout(stopLoading, getTimerValue());
console.log("Stopped loading image");
}
getTimerValue()
是我对服务器的 ajax 调用。如果我使用 5000 之类的值而不是函数,它可以正常工作。请帮我解决这个问题。提前感谢!
更新 - 已解决: 我的 ajax 调用有问题。它返回时未定义。添加回调选项后,它工作正常。
请检查此示例。
var isStopped = true;
function getTimerValue() {
return 5000;
}
function stopLoading() {
console.log('ok')
}
if(isStopped) {
setTimeout(stopLoading, getTimerValue());
console.log("Stopped loading image");
}
当我将isStopped
设置为true
时,它插入 if 条件,然后设置setTimeout
函数。 但是当我将其设置为在5000
之后执行它时,它将同时等待它将执行下一行console.log("Stopped loading image");
,并且在5000
之后打印ok
希望这会有所帮助