How does library q's defer works in JavaScript?
This is the code written using q library .
update = (selectionCriteria, updateCriteria, updateOptions, options) => {
let q = Q.defer()
, db = options.db
, logger = options.logger
db.collection(collectionName).update(selectionCriteria, u...