public function batchAsync(
        Models\BatchOperations $batchOperations,
        Models\TableServiceOptions $options = null
    ) {
        Validate::notNullOrEmpty($batchOperations, 'batchOperations');

        $method      = Resources::HTTP_POST;
        $operations  = $batchOperations->getOperations();
        $contexts    = $this->createOperationsContexts($operations);
        $mime        = $this->createBatchRequestBody($operations, $contexts);
        $body        = $mime['body'];
        $headers     = $mime['headers'];
        $postParams  = array();
        $queryParams = array();
        $path        = '$batch';

        if (is_null($options)) {
            $options = new TableServiceOptions();
        }

        $odataSerializer = $this->odataSerializer;
        $mimeSerializer = $this->mimeSerializer;

        $options->setLocationMode(LocationMode::PRIMARY_ONLY);

        $this->addOptionalHeader(
            $headers,
            Resources::ACCEPT_HEADER,
            Resources::JSON_FULL_METADATA_CONTENT_TYPE
        );

        return $this->sendAsync(
            $method,
            $headers,
            $queryParams,
            $postParams,
            $path,
            Resources::STATUS_ACCEPTED,
            $body,
            $options
        )->then(function ($response) use (
            $operations,
            $contexts,
            $odataSerializer,
            $mimeSerializer
        ) {
            return BatchResult::create(
                $response->getBody(),
                $operations,
                $contexts,
                $odataSerializer,
                $mimeSerializer
            );
        }, null);
    }
public function batchAsync(
        Models\BatchOperations $batchOperations,
        Models\TableServiceOptions $options = null
    ) {
        Validate::notNullOrEmpty($batchOperations, 'batchOperations');

        $method      = Resources::HTTP_POST;
        $operations  = $batchOperations->getOperations();
        $contexts    = $this->createOperationsContexts($operations);
        $mime        = $this->createBatchRequestBody($operations, $contexts);
        $body        = $mime['body'];
        $headers     = $mime['headers'];
        $postParams  = array();
        $queryParams = array();
        $path        = '$batch';

        if (is_null($options)) {
            $options = new TableServiceOptions();
        }

        $odataSerializer = $this->odataSerializer;
        $mimeSerializer = $this->mimeSerializer;

        $options->setLocationMode(LocationMode::PRIMARY_ONLY);

        $this->addOptionalHeader(
            $headers,
            Resources::ACCEPT_HEADER,
            Resources::JSON_FULL_METADATA_CONTENT_TYPE
        );

        return $this->sendAsync(
            $method,
            $headers,
            $queryParams,
            $postParams,
            $path,
            Resources::STATUS_ACCEPTED,
            $body,
            $options
        )->then(function ($response) use (
            $operations,
            $contexts,
            $odataSerializer,
            $mimeSerializer
        ) {
            return BatchResult::create(
                $response->getBody(),
                $operations,
                $contexts,
                $odataSerializer,
                $mimeSerializer
            );
        }, null);
    }
public function batchAsync ( Models \ BatchOperations $ batchOperations , Models \ TableServiceOptions $ options = null ) { Validate :: notNullOrEmpty ( $ batchOperations , 'batchOperations' ) ; $ method = Resources :: HTTP_POST ; $ operations = $ batchOperations -> getOperations ( ) ; $ contexts = $ this -> createOperationsContexts ( $ operations ) ; $ mime = $ this -> createBatchRequestBody ( $ operations , $ contexts ) ; $ body = $ mime [ 'body' ] ; $ headers = $ mime [ 'headers' ] ; $ postParams = array ( ) ; $ queryParams = array ( ) ; $ path = '$batch' ; if ( is_null ( $ options ) ) { $ options = new TableServiceOptions ( ) ; } $ odataSerializer = $ this -> odataSerializer ; $ mimeSerializer = $ this -> mimeSerializer ; $ options -> setLocationMode ( LocationMode :: PRIMARY_ONLY ) ; $ this -> addOptionalHeader ( $ headers , Resources :: ACCEPT_HEADER , Resources :: JSON_FULL_METADATA_CONTENT_TYPE ) ; return $ this -> sendAsync ( $ method , $ headers , $ queryParams , $ postParams , $ path , Resources :: STATUS_ACCEPTED , $ body , $ options ) -> then ( function ( $ response ) use ( $ operations , $ contexts , $ odataSerializer , $ mimeSerializer ) { return BatchResult :: create ( $ response -> getBody ( ) , $ operations , $ contexts , $ odataSerializer , $ mimeSerializer ) ; } , null ) ; }
Creates promise that does batch of operations on the table service.

@param BatchOperations     $batchOperations The operations to apply.
@param TableServiceOptions $options         The optional parameters.

@return \GuzzleHttp\Promise\PromiseInterface
Creates promise that does batch of operations on the table service .