Could you be more specific?

import hmpl from "hmpl-js";

const templateFn = hmpl.compile( `<div> <button data-action="increment" id="btn">Click!</button> <div>Clicks: {{#request src="/api/clicks" after="click:#btn"}}{{/request}}</div> </div>` );

const controller = new AbortController(); const clicker = templateFn(({ request: { event } }) => ({ body: JSON.stringify({ action: event.target.getAttribute("data-action") }), signal: controller.signal, })).response;

document.querySelector("#app").append(clicker);

In such code, you are free to specify almost all RequestInit supported by fetch.