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.

Future<int> Backendless.counters.getAndDecrement(String counterName);

IAtomic counter = Backendless.counters.of(String counterName);
Future<int> counter.getAndDecrement();

where:

Argument                Description
counterName name of the counter to decrement.

Example

Function callback = (counterValue) => print("previous counter value is - $counterValue");

Backendless.counters.getAndDecrement("my counter").then(callback);

IAtomic myCounter = Backendless.counters.of("my counter");
myCounter.getAndDecrement().then(callback);

Codeless Reference

codeless_atomic_counters_decrement_1_return_previous

where:

Argument                Description
counter name Name of the counter whose value must be decremented.
return previous value When this box is checked, the operation returns the previous value of the counter.

Returns the previous value of the counter, while decrementing the value by 1.

Consider the following counter:

codeless_atomic_counters_decrement_1_return_previous_2

The example below decrements the value of the "CarsParkingLot" by 1. This operation returns 10, since the return previous value box is checked. To avoid confusion, the value was decremented by 1, even though the return value is 10.

codeless_atomic_counters_decrement_1_return_previous_3

The result of this operation will look as shown below after the Codeless logic runs, as you can see the value of the counter was decremented by 1.

codeless_atomic_counters_decrement_1_return_previous_4