function asyncFun(input) {
var p = new Promise(function (resolve, reject) {
setTimeout(function () {
console.log('------------------------');
input+=" Time";
console.log(input);
resolve(input);
}, 1000);
});
return p;
}
asyncFun("Hello World").then(
function(result){
return asyncFun(result);
}).then(function(result){
return asyncFun(result);
}).then(function(result){
return asyncFun(result);
}).then(function(result){
console.log(result);
return result + " test0";
}).then(function(result){
console.log(result);
return result + " test1";
}).then(function(result){
console.log(result);
return result + " test2";
}).then(function(result){
console.log(result);
})
Output:
------------------------
Hello World Time
------------------------
Hello World Time Time
------------------------
Hello World Time Time Time
------------------------
Hello World Time Time Time Time
Hello World Time Time Time Time
Hello World Time Time Time Time test0
Hello World Time Time Time Time test0 test1
Hello World Time Time Time Time test0 test1 test2
Sample 2
vm.submit = function(selectedItem) {
roleApi.create({
org: vm.org.id
}, selectedItem).$promise
.then(function(savedRole) {
$modalInstance.close(savedRole);
return roleApi.get({org: vm.org.id, role: savedRole.id}).$promise
.then(function (data) {
console.log("get success");
data.permissions = $scope.newRole.perms;
return roleApi.update({org: vm.org.id, role: savedRole.id}, data).$promise
.then(function (role) {
return role;
})
});
})
.catch(function(err) {
if (err.status === 409) {
duplicateError(err);
} else {
globalError.show('role.failed');
}
return [];
});
};
}
vm.submit = function(selectedItem) {
roleApi.create({
org: vm.org.id
}, selectedItem).$promise
.then(function(savedRole) {
$modalInstance.close(savedRole);
return roleApi.get({org: vm.org.id, role: savedRole.id}).$promise
.then(function (data) {
return data;
});
})
.then(function (data) {
data.permissions = $scope.newRole.perms;
roleApi.update({org: vm.org.id, role: data.id}, data).$promise
.then(function (role) {
return role;
})
})
.catch(function(err) {
if (err.status === 409) {
duplicateError(err);
} else {
globalError.show('role.failed');
}
return [];
});
};