Ramonda

async-render

This fails the run. Where it is wrong about your code, // ramonda-check-ignore <reason> on the line says so, and the reason is printed on every run.

Reported when render() is async, so it returns a promise where the diff expects markup.

The framework reports the same fault while running, as RMD060 — but only once the line actually runs. This is the same fault proved from the source instead.

render() must return markup, not a promise for it. An async one returns a Promise the moment it is called, so the diff is handed an object that is not a node and throws from inside the framework — a TypeError naming neither your component nor render.

Load the data outside the render. @mounted (or @created) can await it and write the result into @state, leaving render() to show whichever state the component is in. Where the promise itself is the subject, AsyncLoad takes it and renders a fallback while it settles.

The type system refuses this too, so reaching it means a @ts-ignore, a cast, or a base class loosened somewhere above — which is exactly why it is worth checking here as well.

Next