source - https://dzone.com/articles/javascript-how-to-define-process-a-promise-object
#node
#node
JavaScript:
// Promise needs to be imported when executing a module using Node
//
var Promise = require("promise");
function Auth() {
}
Auth.prototype.login = function(user) {
return new Promise(function(resolve, reject) {
if(user.username != "" && user.password != "") {
resolve({username: user.username, age: 21, location: "Hyderabad", firstname: "Raju", lastname: "Mastana"});
} else {
if(user.username == ""){
reject({status:1, message: "Username is invalid"});
} else {
reject({status:2, message: "Password is invalid"});
}
}
});
}
module.exports = Auth;
// Import the Auth module
//
var Auth = require('./Auth');
// Create an Auth object
//
var auth = new Auth();
//
// Calls login API on Auth object
// Returns a promise object
//
var loginPromise = auth.login({username:'', password:'pass123'});
//
// Once the state of Promise is fulfilled/resolved or rejected,
// following is executed
//
loginPromise.then(function(response){
console.log("User name: " + response.name);
}, function(error) {
console.log(error.message);
});