MCPcopy Index your code
hub / github.com/angular/angular / scheduleDelayedTrigger

Function scheduleDelayedTrigger

packages/core/src/defer/triggering.ts:78–99  ·  view source on GitHub ↗
(
  scheduleFn: (callback: VoidFunction, injector: Injector) => VoidFunction,
)

Source from the content-addressed store, hash-verified

76 * Schedules triggering of a defer block for `on idle` and `on timer` conditions.
77 */
78export function scheduleDelayedTrigger(
79 scheduleFn: (callback: VoidFunction, injector: Injector) => VoidFunction,
80) {
81 const lView = getLView();
82 const tNode = getCurrentTNode()!;
83
84 renderPlaceholder(lView, tNode);
85
86 // Exit early to avoid invoking `scheduleFn`, which would
87 // add `setTimeout` call and potentially delay serialization
88 // on the server unnecessarily.
89 if (!shouldTriggerDeferBlock(TriggerType.Regular, lView)) return;
90
91 const injector = lView[INJECTOR];
92 const lDetails = getLDeferBlockDetails(lView, tNode);
93
94 const cleanupFn = scheduleFn(
95 () => triggerDeferBlock(TriggerType.Regular, lView, tNode),
96 injector,
97 );
98 storeTriggerCleanupFn(TriggerType.Regular, lDetails, cleanupFn);
99}
100
101/**
102 * Schedules prefetching for `on idle` and `on timer` triggers.

Callers 2

ɵɵdeferOnIdleFunction · 0.90
ɵɵdeferOnTimerFunction · 0.90

Calls 8

getLViewFunction · 0.90
getCurrentTNodeFunction · 0.90
renderPlaceholderFunction · 0.90
shouldTriggerDeferBlockFunction · 0.90
getLDeferBlockDetailsFunction · 0.90
storeTriggerCleanupFnFunction · 0.90
scheduleFnFunction · 0.85
triggerDeferBlockFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…