let error = true;
function doAsyncTask() {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (error) {
reject('error'); // pass values
} else {
resolve('done'); // pass values
}
}, 1000);
});
}
doAsyncTask().then(
(val) => console.log(val),
(err) => console.error(err)
);
Nested Promise
this.localStorage.clear().toPromise()
.then((value1: boolean) => {
console.log(value1);
return this.localStorage.setItem(value.userName, value.token).toPromise();
})
.then((value2: boolean) => {
console.log(value2);
});
References
https://codecraft.tv/courses/angular/es6-typescript/promises/
https://stackoverflow.com/questions/40519484/promise-waterfall