I am afraid what I am doing is completely wrong.
Is it okay to resolve() or reject() from withing a promise chain IN a promise.
// Insert a new user by details into database
insert: function(username, name, email, gender, birthday, other) {
return new Promise(function(resolve, reject) {
// Base structure
var new_user = {
username: username,
name: name,
email: email,
gender: gender,
birthday: birthday
};
// Merge other data with base structure
if(other != undefined) {
new_user = _.merge(new_user, other);
}
var new_user_model = new UserModel(new_user);
new_user_model.saveAsync(function(user) {
return resolve(user); // Safe to resolve from inside a promise?
});
// OR... should I do it like this?
var user = new_user_model.saveAsync(function(user) {
return user;
});
return resolve(user);
});
}