Send requests with Valyrian.js
Load one JSON profile and expose its pending, successful and failed outcomes.
The self-contained example requests a data URL, awaits the parsed profile and refreshes the mounted view with the result or rejected error.
Table of contents
Main APIs
- request
- Provides the asynchronous Valyrian.js HTTP client entry point.
tsimport { mount, update } from "valyrian.js";
import { request } from "valyrian.js/request";
type Profile = { name: string; role: string };
const profileUrl = `data:application/json,${encodeURIComponent(
JSON.stringify({ name: "Arya", role: "editor" }),
)}`;
let status = "loading";
let result = "Loading profile";
mount("body", () => `${status}: ${result}`);
try {
const profile = (await request.get(profileUrl)) as Profile;
status = "success";
result = `${profile.name}: ${profile.role}`;
} catch (error) {
status = "error";
result = error instanceof Error ? error.message : "Profile request failed";
} finally {
update();
}Error
Rejected requests and HTTP 4xx or 5xx responses enter the error path of the calling flow.