0

我使用 ajax 调用从服务器获取计时器的值。我必须在 setTimeout() 方法中将该值用于超时。如何使用函数而不是实际值。

这是我的代码:

if(isStopped) {
   setTimeout(stopLoading, getTimerValue());
   console.log("Stopped loading image");
}

getTimerValue()是我对服务器的 ajax 调用。如果我使用像 5000 这样的值而不是函数,它工作正常。请帮我解决这个问题。提前致谢!

更新 - 已解决:我的 ajax 调用存在问题。它返回未定义。添加回调选项后,它工作正常。

4

1 回答 1

0

请检查这个例子。

var isStopped = true;

function getTimerValue() {
  return 5000;
}

function stopLoading() {
  console.log('ok')
}

if(isStopped) {
   setTimeout(stopLoading, getTimerValue());
   console.log("Stopped loading image");
}

正如我设置isStoppedtrue那样,它插入 if 条件,然后设置setTimeout函数。但是因为我将它设置为在之后执行它5000所以它会等待它同时执行下一行console.log("Stopped loading image");并在5000它打印之后ok 希望这会有所帮助

于 2019-10-15T06:24:36.970 回答