()
| 289 | return scheduler; |
| 290 | |
| 291 | function nextTick() { |
| 292 | if (!tickQueue.length) return; |
| 293 | |
| 294 | var updatedQueue = []; |
| 295 | for (var i = 0; i < tickQueue.length; i++) { |
| 296 | var innerQueue = tickQueue[i]; |
| 297 | runNextTask(innerQueue); |
| 298 | if (innerQueue.length) { |
| 299 | updatedQueue.push(innerQueue); |
| 300 | } |
| 301 | } |
| 302 | tickQueue = updatedQueue; |
| 303 | |
| 304 | if (!cancelFn) { |
| 305 | $$rAF(function() { |
| 306 | if (!cancelFn) nextTick(); |
| 307 | }); |
| 308 | } |
| 309 | } |
| 310 | |
| 311 | function runNextTask(tasks) { |
| 312 | var nextTask = tasks.shift(); |
no test coverage detected