I don't know if there is a promise way, but you could use the async library 
to handle your async processing. The code you have here is pretty much 
untestable, and I spotted already one bug by just looking at it (the 
statement after continue is never called)

On Tuesday, March 29, 2016 at 7:44:06 AM UTC-7, Zeit Rapha wrote:
>
> hi,
>
>
> my problem is a more generell problem. i am asking here to find out, if 
> there is a special angularjs feature, which reduces the complexity of a for 
> loop with promises.
>
>
> a short example:
> i got a function surrounded by a $q. in this function, a code is iterated 
> through a for-loop. if the value of the code is "0", continue with the next 
> step in the for-loop. otherwise, go through some other asynchronous service 
> functions to set the variable myData correctly.
>
>
> return $q(function (resolve, reject) { 
>    var pCode = "1050"; 
>    var myData = {}; 
>    for (var i = 0; i <= pCode.length; i++) { 
>       var lcHumanIdx = i + 1; 
>       if (pCode[i] === "0") { 
>          continue; i = i + 1; 
>       } else { 
>          if (lcHumanIdx === 1) { 
>             SomeService.asyncFunction(pCode[i]) 
>                .then(function (pElement) { 
>                   if (pCode[i + 1] !== "-") { 
>                      myData.translation = pElement; 
>                   } else { 
>                      OtherService.asyncFunction() 
>                         .then(function (pOtherElement) { 
>                            myData.translation = pOtherElement; 
>                         }) 
>                   } 
>                   ... 
>                   resolve(myData);
>                   // or handling with many promises
>                   // $q.all(collectedPromises).then(function() { 
> console.log("Done"); })
> });
>
>
> before i go and code, i just wanted to ask, whats the best practise to 
> realize such a problem. are there any specific angularjs solutions (like 
> bluebirds promiseWhile/-For)? the problem in this example is, that the 
> variable myData is {} every time! the variable is resolved before the 
> asyncronous functions completed. my aim is to set all "attributes" of 
> myData (f.e. myData.translation) correct, and then resolve it. what would 
> be the best realization?
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to