// Template syntax
// Values can be any scalar value, Promise, nested template, or object with a 'render' method
function getContent() {
const content = html`<div>
<p>Some static content here first</p>
<p>${sleep(600, (resolve) => resolve("Resolves second"))}</p>
<p>A bit more static content here as well</p>
<p>
${Promise.resolve(
html`Resolves first... (Nested: ${sleep(800, (resolve) => resolve(html`Resolves third`))})`
)}
</p>
<hr />
${new CustomObjectWithRenderMethod()}
</div>`;
return content;
}
These templates...
render
.
renderStream
(returns
AsyncGenerator
)
renderAsync
(returns string
)
renderStream(tmpl)
:Renders immediately. Async content streams in as it resolves. Feels faster.
await renderAsync(tmpl)
:Waits to render any content untill all async content is resolved. Useful for SEO & bots.