Skip to content
These are temporary community docs. The official docs are in progress.Help improve them
Markless
Esc
↑↓navigate↵open⌘Jpreview
On this page

MARKLESS_SYNC_POLICY_SECOND_CANCEL

Only one cancel statement becomes the synchronous event policy: a Markless compiler error.

Error from the compiler, while it builds your .tsrx files.

What happened

Markless prints the message, the reason, and a suggestion:

MARKLESS_SYNC_POLICY_SECOND_CANCEL: This <action>() for <attributeName> sits outside the statement the synchronous policy was extracted from, so it would run only after the lazy handler loads and never reach the event.
The compiler lifts one guarded cancel per handler into the policy the resumer applies before the handler symbol loads; every other cancel stays in the lazy handler, where the event has already finished dispatching.
Fold the guards into one extractable condition, e.g. `if (first || second) <eventParam>.<action>()`, or remove the extra <action>().
https://markless.dev/errors/MARKLESS_SYNC_POLICY_SECOND_CANCEL

Words in angle brackets change from case to case.

How to fix it

Start with the suggestion in the message above.

This page has no guide yet. Help write it.

Where it comes from

@markless/compiler raises this code. Source:

Read how to read a Markless error, or go back to all error codes.

Was this page helpful?