What is the difference between build().perform() and perform()

前端 未结 3 603
夕颜
夕颜 2021-01-16 21:45

Some articles suggest that now build() is included in perform() itself, while others suggest that build().perform() is used when multi

相关标签:
3条回答
  • 2021-01-16 22:17

    build() is included in perform(), you can see it in the source code

    public void perform() {
        build().perform();
    }
    

    The perform() inside the methods calls the perform() method in the inner class BuiltAction.

    Calling build().perform() in your code is actually calling build() twice, build().build().perform().

    build

    Generates a composite action containing all actions so far, ready to be performed (and resets the internal builder state, so subsequent calls to build() will contain fresh sequences).

    performe

    A convenience method for performing the actions without calling build() first.

    This is little misleading (IMO), because build() is being called, even if implicitly.

    0 讨论(0)
  • 2021-01-16 22:24

    build() method in Actions class is use to create chain of action or operation you want to perform.

    perform() this method in Actions Class is use to execute chain of action which are build using Action build method.

    build().perform() = create chain of actions + execute

    0 讨论(0)
  • 2021-01-16 22:25
    1. build() - Generates a composite action containing all actions so far, ready to be performed (and resets the internal builder state, so subsequent calls to build() will contain fresh sequences).

    2. perform() A convenience method for performing the actions without calling build() first.

    So, whenever going for composite actions (multiple actions) use build().perform(), else perform().

    0 讨论(0)
提交回复
热议问题