On 11/07/2013, at 16:42, Jean-Michel Hiver wrote:

> Funny how I scratched my head for an hour or so and found the answer 
> afterwards:
> 
> for (var i=0; i < array.length; i++) {
>     var item = array[i];
>     setTimeout(function(item) {
>         console.log(item);
>     }, 1000*i, item);
> }

Or:

function log (item) {
  return function(){ console.log(item) }
  // or return console.log.bind(console, item)
}

for (var i=0; i<array.length; i++) setTimeout(log(array[i]),1e3*i);

Or:

array.forEach(function(v,i,o){setTimeout(log(v),1e3*i)});

> Still I think the way closures works is a bug...

Why?

-- 
( Jorge )();

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to