I am currently working on a NodeJS server, and am switching from callbacks to promises.
Here's an example of my code:
var record = req.body.record;
var schoolId = req.body.schoolId;
var promise = BusController.addBus(record,schoolId);
promise.then(function(){
return res.json({status:"success", message : "bus successfully created"});
}).catch(function(error){
if(error){
console.log(error);
res.json({status:"error",message:"error while creating bus"});
return;
}
The bus controller has the following in it:
addBus : function(record,schoold){
return new Promise(function(resolve,reject){
var bus_number = record.bus_number;
var newBus = new Bus({
language: language ? language : "",
bus_number: bus_number ? bus_number : "",
bus_driver: bus_driver ? bus_driver : {},
bus_details: bus_details ,
trips: trips ? trips : [],
school_id: schoold,
location: location ? location : {}
});
newBus.save().then(function(bus){
var busCreation = {};
busCreation.name= "باص رقم"+ ' ' +bus_number;
busCreation.type= "3";
busCreation.refid= bus._id;
busCreation.email= record.email;
busCreation.phone_number=record.phone_number;
busCreation.school_id = schoold;
console.log(busCreation);
var promise = UserController.addUser(busCreation);
promise.then(function(){
resolve();
})
}).catch(function(error){
if (error) {
reject(error);
}
});
});
}
This my current logic. Is this a good practice? Or should I switch to async library?