【问题标题】:Javascript run after 10 secondsJavascript 在 10 秒后运行
【发布时间】:2019-07-31 03:42:11
【问题描述】:

我是 Javascirpt 的新手。我到底应该在下面的代码中添加什么,以便this.callHandler('ok'); 只会在10 秒后运行

Window_NameInput.prototype.processHandling = function() {
    if (this.isOpen() && this.active) {
        this.callHandler('ok');
    }
};

任何帮助表示感谢提前感谢

【问题讨论】:

标签: javascript timeout


【解决方案1】:

用函数包装this.callHandler('ok') 并将其传递给setTimeout()。将10000 作为第二个参数传递,因为它需要以毫秒为单位的时间。

Window_NameInput.prototype.processHandling = function() {
    if (this.isOpen() && this.active) {
        setTimeout(() => this.callHandler('ok'),10000); 
    }
};

【讨论】:

  • 我的代码将在游戏中关闭一个窗口。但是在使用您的代码后,它会关闭整个游戏,而不是游戏内的窗口。有什么想法吗?
  • @Tosps 没有看到你的代码就什么也说不出来。但我的代码只延迟this.callHandler('ok') 10 秒。 this.callHandler可能有问题
  • 我想可能是因为我没有清除超时。您如何为此清除超时?谢谢
  • @Tosps 你不需要clearTimeout 它只会出现一次。但是如果你想在它发生之前停止它,你可以使用clearTimeout()。我已经更新了答案
  • 可能是因为 if (this.isOpen() && this.active) ,它总是在检查窗口是否打开,所以超时时它会重复自己并关闭太多次?
猜你喜欢
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-25
  • 1970-01-01
  • 2019-07-08
  • 1970-01-01
相关资源
最近更新 更多