ruby-on-rails - ruby 中是否有 promise 概念?

标签 ruby-on-rails es6-promise method-chaining

我只是想知道,ruby 中是否有链接概念。 我想一个接一个地执行一系列异步任务或方法。可能吗?

谢谢, 拉维

最佳答案

您可能想要创建一个流程类,例如:

class MyProcess

  PROCESS_STEPS = %w(
    step_one
    step_two
    step_three
  )

  class << self 

    def next_step
      new.next_step
    end

  end # Class Methods

  #======================================================================
  # Instance Methods
  #======================================================================

    def next_step
      PROCESS_STEPS.each do |process_step|
        send(process_step) if send("do_#{process_step}?")
      end
    end

    def step_one
      # execute step one task
    end

    def do_step_one?
      # some logic
    end

    def step_two
      # execute step two task
    end

    def do_step_two?
      # some logic
    end

    def step_three
      # execute step three task
    end

    def do_step_three?
      # some logic
    end

end

你可能会把它放在:

app 
 |- processes
 |   |- my_process.rb

然后,在每个任务结束时,执行如下操作:

MyProcess.next_step 

关于ruby-on-rails - ruby 中是否有 promise 概念?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50819220/

相关文章:

ruby-on-rails - 连接两个表以获取数据 rails 4

javascript - React Promise.all 挑战

ruby-on-rails - Rails 5.2 使用 ActiveStorage 和 Creek 导入 XLSX

ruby-on-rails - Rails - Ransack - 通过协会搜索

javascript - 需要在 javascript 中的 Promise 链中中断或完成

javascript - React-Redux 删除 HTTP 请求

javascript - NodeJS promise 链 : reuse "then" and merge two promises

javascript - 结合 promise 和链接

JavaScript 可链接方法困境

ruby-on-rails - Ruby require::File 语法