Skip to content

Instantly share code, notes, and snippets.

@Yuffster
Forked from benjamingr/correct.js
Created June 25, 2015 15:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Yuffster/4ca84f31cfaef33c4138 to your computer and use it in GitHub Desktop.
Save Yuffster/4ca84f31cfaef33c4138 to your computer and use it in GitHub Desktop.
function createUser(username, callback) {
var connection = DatabaseClient.connect();
var users = connection.collection('users');
var query = users.query({username: username});
return query.then(function(existing){
if(existing) throw new Error("User already exists: " + username);
else return users.create({username: username});
}).fin(function(connection){ return connection.call('close'); });
}
async function createUser(username, callback) {
var connection = await DatabaseClient.connect();
try{
var users = await connection.collection('users');
var query = await users.query({username: username});
if(query){
throw new Error("User already exists: " + username);
} else {
return await users.create({username: username});
}
} finally {
connection.close();
}
}
function createUser(username, callback) {
return DatabaseClient.connect().then(function(connection) {
return connection.collection('users').then(function(users) {
return users.query({username: username}).then(function(existing) {
if (existing) {
callback("User already exists: " + username);
} else {
return users.create({username: username}).then(function (user) {
callback(null, user);
});
}
});
}).fin(connection.close);
}).catch(callback);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment