(q)
| 47 | }; |
| 48 | |
| 49 | function poke(q) { |
| 50 | if (!q._start) { |
| 51 | try { start(q); } // let the current task complete |
| 52 | catch (e) { |
| 53 | if (q._tasks[q._ended + q._active - 1]) abort(q, e); // task errored synchronously |
| 54 | else if (!q._data) throw e; // await callback errored synchronously |
| 55 | } |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | function start(q) { |
| 60 | while (q._start = q._waiting && q._active < q._size) { |