conditional promise chaining multiple levels

promise all conditional
javascript promise
promise all for loop
bluebird conditional promise
javascript promise conditional then
node js wait for multiple promises
return conditional promise
chaining cycle detected for promise