Skip to content

Decrement by 1, return previous

Atomically decrements by one the current value and returns the previous value of the counter. It is possible that multiple concurrent client requests may receive the same previous value. This occurs since only the decrementing part of the logic is atomic, the retrieval of the value before it is decremented is not.

// *******************************************
// Backendless.Counters approach
// *******************************************
Backendless.Counters.getAndDecrement( counterName )
 .then( function( result ) {
 })
 .catch( function( error ) {
 });

// *******************************************
// Backendless.Counters.of() approach
// *******************************************
var counter = Backendless.Counters.of( counterName );
counter.getAndDecrement()
 .then( function( result ) {
 })
 .catch( function( error ) {
 });

where:

Argument                Description
counterName name of the counter to decrement.

Example

var successCallback = function( response ) {
  console.log( "counter value is - " + response );
};

var failureCallback = function( fault ) {
  console.log( "error - " + fault.message );
};

// ************************************************
// Backendless.Counters approach
// ************************************************
Backendless.Counters.getAndDecrement( "my counter" )
 .then( successCallback )
 .catch( failureCallback );

// ************************************************
// Backendless.Counters.of() approach
// ************************************************
var myCounter = Backendless.Counters.of( "my counter" );

myCounter.getAndDecrement()
 .then( successCallback )
 .catch( failureCallback );