MCPcopy Create free account
hub / github.com/stenciljs/core / flushTicks

Function flushTicks

src/testing/platform/testing-task-queue.ts:42–69  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

40 * next tick.
41 */
42export function flushTicks(): Promise<void> {
43 return new Promise<void>((resolve, reject) => {
44 function drain() {
45 try {
46 if (queuedTicks.length > 0) {
47 const writeTasks = queuedTicks.slice();
48
49 queuedTicks.length = 0;
50
51 let cb: Function;
52 while ((cb = writeTasks.shift())) {
53 cb(Date.now());
54 }
55 }
56
57 if (queuedTicks.length > 0) {
58 process.nextTick(drain);
59 } else {
60 resolve();
61 }
62 } catch (e) {
63 reject(`flushTicks: ${e}`);
64 }
65 }
66
67 process.nextTick(drain);
68 });
69}
70
71/**
72 * Push a RequestAnimationFrame callback onto the {@link queuedWriteTasks} data structure

Callers 1

flushAllFunction · 0.85

Calls 1

nextTickMethod · 0.80

Tested by

no test coverage detected