Comment by rendall 7 days ago Could you be more specific? 2 comments rendall Reply aanthonymax 7 days ago 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); aanthonymax 7 days ago In such code, you are free to specify almost all RequestInit supported by fetch.
aanthonymax 7 days ago 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);
aanthonymax 7 days ago In such code, you are free to specify almost all RequestInit supported by fetch.
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.