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_ASYNC_BOUNDARY_REQUIRED

The markup reads an async computed() outside an @try block.

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

What happened

An async computed() can still be loading, or it can fail. The page needs to know what to show in both cases.

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

MARKLESS_ASYNC_BOUNDARY_REQUIRED: Cannot read <computedLabel> "<source>" outside @try/@pending/@catch. Wrap the read in an async boundary.
Async computed values can be pending or rejected during initial render and resume. The runtime needs an explicit TSRX async boundary to render pending and error UI.
Wrap this template read in @try with @pending and @catch branches, or read a sync computed that is already guarded by an async boundary.
https://markless.dev/errors/MARKLESS_ASYNC_BOUNDARY_REQUIRED

Words in angle brackets change from case to case.

How to fix it

Put the read inside @try, with a @pending branch for loading and a @catch branch for failure.

@try {
	<p>{details.title}</p>
} @pending {
	<p>Loading</p>
} @catch {
	<p>Could not load</p>
}

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?