Skip to content

Instantly share code, notes, and snippets.

@yashuvit89
Created August 17, 2016 08:22
Show Gist options
  • Save yashuvit89/f76687290a472b18d2ce38ae9d20438b to your computer and use it in GitHub Desktop.
Save yashuvit89/f76687290a472b18d2ce38ae9d20438b to your computer and use it in GitHub Desktop.
var Q = require('Q');
// this.mapConfigs.forEach(function(config){
// promise = promise.then(function(data){
// console.log("Inside computeMapPolygons ------> 1", travelMode, config.timeToDrive);
// if(data) {
// travelMode === "best_guess" ? self.bestGuessPolygons.push(data) : self.pessimisticPolygons.push(data);
// // self.allPolygonData.push(data);
// }
// // traffic_model
// config.traffic_model = travelMode;
// return new Map(config)
// })
// });
var func1 = function(name) {
console.log("Inside func 1", name);
var deferred = Q.defer();
setTimeout(function(){
console.log("Resolved 1");
deferred.resolve("two");
}, 2000);
return deferred.promise;
}
var func2 = function(name) {
console.log("Inside func 2", name);
var deferred = Q.defer();
setTimeout(function(){
console.log("Resolved 2");
deferred.resolve("three");
}, 2000);
return deferred.promise;
}
var func3 = function(name) {
console.log("Inside func 3", name);
var deferred = Q.defer();
setTimeout(function(){
console.log("Resolved 3")
deferred.resolve("final");
}, 2000);
return deferred.promise;
}
var config = ["one", "two", "three"];
var arr = [func1, func2, func3];
var trafficArr = ['pess', 'best'];
var init = function() {
var result = Q(config[0]);
arr.forEach(function(f, i){
result = result.then(f);
})
console.log(result);
return result;
}
var callFirstMap = function() {
var firstDeferred = Q.defer();
init().then(function(name){
console.log("Inside final Call 1", name);
firstDeferred.resolve();
});
return firstDeferred.promise;
}
var callSecondMap = function() {
var secondDeferred = Q.defer();
init().then(function(name){
console.log("Inside final Call 2", name);
secondDeferred.resolve();
})
return secondDeferred.promise;
}
var callFirstDoneCB = function() {
console.log("First call done");
callSecondMap().then(callSecondDoneCB);
}
var callSecondDoneCB = function() {
console.log("Second call done");
console.log("All DONE!!!");
}
//
callFirstMap().then(callFirstDoneCB);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment