Skip to content

Instantly share code, notes, and snippets.

@bhavyaw
Created November 26, 2016 11:43
Show Gist options
  • Save bhavyaw/4c94326dfa5f323c83b6647e7cc37c0f to your computer and use it in GitHub Desktop.
Save bhavyaw/4c94326dfa5f323c83b6647e7cc37c0f to your computer and use it in GitHub Desktop.
Promises Child Workflow Example
console.clear();
var myAwesomePromise = new Promise((resolve,reject) => {
setTimeout(() => {
resolve("Timeout - 2000 promise is resolved");
},2000);
});
var resolvedPromise = Promise.resolve("This is a resolved promise");
myAwesomePromise.then((value) => {
console.log("Parent Workflow First Resolution --> ",value);
return someAsyncTask();
})
.then((value) => {
console.log("Parent Workflow Second Resolution --> ",value);
}, error => {
console.error("Parent Workflow First Rejection Handler --> ",error);
})
.catch(error => {
console.error("Parent Workflow Main Catch --> ",error);
});
function someAsyncTask(){
var promise1 = new Promise((resolve,reject) => {
setTimeout(()=>{
resolve("Async Task Resolved!!");
},1000)
});
var promise2 = promise1.then(value => {
console.log("Async Task local fulfillment handler --> ",value);
})
.catch(error => {
console.log("Async Task local rejection handler --> ",error);
});
console.log("Promise 2 --> ",promise2);
return promise1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment