protected function execPromise($cmdPromise, $description)
    {
        return $this->beginCommandLazy($description)->thenLazy(
            function($time) use ($cmdPromise) {
                if (is_array($cmdPromise)) {
                    $cmdPromise = allInOrder($cmdPromise);
                }
                return $cmdPromise->always(function() use ($time) {
                    return $this->endCommand($time);
                });
            }
        );
    }
protected function execPromise($cmdPromise, $description)
    {
        return $this->beginCommandLazy($description)->thenLazy(
            function($time) use ($cmdPromise) {
                if (is_array($cmdPromise)) {
                    $cmdPromise = allInOrder($cmdPromise);
                }
                return $cmdPromise->always(function() use ($time) {
                    return $this->endCommand($time);
                });
            }
        );
    }
protected function execPromise ( $ cmdPromise , $ description ) { return $ this -> beginCommandLazy ( $ description ) -> thenLazy ( function ( $ time ) use ( $ cmdPromise ) { if ( is_array ( $ cmdPromise ) ) { $ cmdPromise = allInOrder ( $ cmdPromise ) ; } return $ cmdPromise -> always ( function ( ) use ( $ time ) { return $ this -> endCommand ( $ time ) ; } ) ; } ) ; }
Execute command promise with description printing and time elapsed

@param ExtendedPromiseInterface|ExtendedPromiseInterface[] $cmdPromise
@param string $description
@return LazyPromiseInterface
Execute command promise with description printing and time elapsed