The problem is that your last console.log line runs before anything else. I don't see the rest of the code, but I suspect if you move your *return resolve(countRepetidos);* 2 lines up (right behind that *if(data.count>0) {}* block), your promise will resolve proper value.
Likewise, if you put the console log there, it's going to work. On Saturday, July 22, 2017 at 3:50:01 AM UTC+2, Catia Matos wrote: > > > 0down votefavorite > <https://stackoverflow.com/questions/45236919/outside-for-loop-var-value-is-undefined#> > > I'm facing a problem with a value where inside my for cycle it has values > like "179" and outside i get always undefined. Why? > > var countRepetidos;if(obj.data.list!={} && obj.data.list.length>0){ > var aux = obj.data["list"]; > countRepetidos=0; > for(var i=0;i<aux.length;i++){ > Database.Probing.getMacAdress(aux[i]).then(function(data){ > if(data.count>0){ > countRepetidos++; > console.log("count repetidos 1",countRepetidos); // value 116 > } > }); > } > return resolve(countRepetidos);} > > console.log("count repetidos 2",countRepetidos); // value undefined > > log : > > 3|wscontro | count repetidos 1 1163|wscontro | count repetidos 2 undefined > > I try instead of use resolve, use callback but nothing... I saw other > answers in javascript but for node.js I cant resolve this problem... I saw > the link refering thus question as a duplicate but cant figure out a > solution to this case. > -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com. To post to this group, send email to nodejs@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/bff3ffb3-40e5-4d86-97fa-61e7e7536df1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.