nowindxdw
11/2/2017 - 1:00 AM

promise async or sync

//sync  sequential execution
Promise.resolve()
    .then(function(){
        return promotionDistributionModel.deleteStoreCampaignTargets(dbName, campaignId, data.organizationId)
    })
    .then(function(){
        return  promotionDistributionModel.addStoreCampaignTargets(dbName, campaignId, targets)
    })
    .then(function(){
        return promotionDistributionModel.deleteStoreCampaignStatus(dbName, campaignId, data.organizationId)
    })
    .then(function(){
        return promotionDistributionModel.addStoreCampaignStatus(dbName, campaignId, data.organizationId)
    })
    .then(trx.commit)
    .catch(trx.rollback);



//async  execute in random order
 Promise.all([
     promotionDistributionModel.deleteStoreCampaignTargets(dbName, campaignId, data.organizationId),
     promotionDistributionModel.addStoreCampaignTargets(dbName, campaignId, targets),
     promotionDistributionModel.deleteStoreCampaignStatus(dbName, campaignId, data.organizationId),
     promotionDistributionModel.addStoreCampaignStatus(dbName, campaignId, data.organizationId)
   ])
   .then(trx.commit)
   .catch(trx.rollback);