Add sets a new value for a key if and only if that key doesn't already exist
client
.add('firstName', 'Victor')
.then(function() {
console.log('Successfully added the key firstName')
})
with async/await
await client.add('firstName', 'Victor')
console.log('Successfully added the key firstName')
If a key already exists and you try to use the add
command, Memcached will
return an error which Memcache Plus will throw.
// If 'firstName' already exists
client
.add('firstName', 'Victor')
.then(function() {
// This will not get hit because `add` will throw on error
console.log('Successfully added the key firstName');
})
.catch(function(err) {
// Will print: 'Cannot "add" for key "firstName" because it already exists'
console.error(err);
});
with async/await
// If 'firstName' already exists
try {
await client.add('firstName', 'Victor')
// This will not get hit because `add` will throw on error
console.log('Successfully added the key firstName')
} catch(err) {
// Will print: 'Cannot "add" for key "firstName" because it already exists'
console.error(err)
}
Memcache Plus will always return a Promise, but it can also take a traditional callback for any of its methods so it can work just like most of the other Memcache modules out there. For example:
client.add('firstName', 'Victor, function(err) {
console.log('Successfully added the key firstName');
});
And if you try to add to a key that already exists:
// If 'firstName' already exists
client.add('firstName', 'Victor', function(err) {
// Will print: 'Cannot "add" for key "firstName" because it already exists'
console.error(err);
});