>>Hi everybody,
>>
>>I have the following code:
>>
>>
>>load($stateParams.draftId);
>>
>> getMetaData();
>>...
>>
>>
>>The load method has this code:
>>
>> spinnerService.startSpinner('loaditemtree');
>>
>> loadItemTreeRoot(draftId);
>> loadUnassigned(draftId);
>>
>>
>>The last 2 load functions as well as getMetaData call some service which returns promise. My problem is that I don't want to execute extra code if, for example, the very first method loadItemTreeRoot already returns a bad status.
>>
>>How can I re-write the above to make sure my methods are executed in the synchronous fashion, to be precise, once one method failed (returned bad request), the rest of my methods are not executed?
>>
>>Thanks in advance.
>
>You just need to chain your promises. e.g:
loadItemTreeRoot(draftId).then(function (success){
> loadUnassigned(draftId);
>}, function(error){
> /whatever
>})
Ditto for the outer call to handle the loadUnassigned promise
I was thinking about it, but that was developed by other developer and he probably had a reason to make all of them as separate functions and sometimes call all of them (in the initial load) and sometimes just one of them.
If it's not broken, fix it until it is.
My Blog