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
- All rules — the other checks this one runs beside.
- Checking your app — how to run it, and what it proves.