(cb)
| 23 | return; |
| 24 | function Next(){ |
| 25 | var fn = function(cb){ |
| 26 | if(!fn.stack || !fn.stack.length){ |
| 27 | setImmediate(function next(n){ |
| 28 | return (n = (fn.stack||[]).shift() || function(){}), n.back = fn.stack, fn.stack = [], n(function(){ |
| 29 | return (fn.stack = (fn.stack||[]).concat(n.back)), next(); |
| 30 | }); |
| 31 | }); |
| 32 | } if(cb){ |
| 33 | (fn.stack = fn.stack || []).push(cb); |
| 34 | } return fn; |
| 35 | }, setImmediate = setImmediate || function(cb){return setTimeout(cb,0)} |
| 36 | return fn; |
| 37 | } |
| 38 |