小编Kyl*_*ner的帖子

Ruby 中的非阻塞定时事件,如 JavaScript setTimeout

我需要在类初始化几分钟后更改它的属性。我试图sleep在函数内部使用,但它延迟了所有内容的执行:

active = true

def deactivate
  sleep 120
  puts 'deactivate'
  active = false
end

deactivate
puts active
Run Code Online (Sandbox Code Playgroud)

我希望会发生的是true先注销然后两分钟后deactivate登录。但是,会发生什么,deactivate然后false在两分钟后注销。

在 JavaScript 中,我会做类似的事情:

var active = true;
setTimeout(function(){
  console.log('deactivate');
  active = false;
},120000);
console.log(active);
Run Code Online (Sandbox Code Playgroud)

javascript ruby ruby-on-rails

5
推荐指数
2
解决办法
4181
查看次数

标签 统计

javascript ×1

ruby ×1

ruby-on-rails ×1