chore(lit): fetch data, extract function to create task in a separate file (#279)

Co-authored-by: Giuseppe Piscopo <g.piscopo@braincrumbz.com>
This commit is contained in:
BrainCrumbz
2024-11-16 04:29:46 +01:00
committed by GitHub
parent f787cddbe4
commit 01fbb020a3
2 changed files with 16 additions and 11 deletions

View File

@@ -0,0 +1,14 @@
import { Task } from "@lit/task";
export function createFetchUsersTask(element) {
return new Task(element, {
task: async () => {
const response = await fetch("https://randomuser.me/api/?results=3");
if (!response.ok) {
throw new Error(response.status);
}
return response.json();
},
args: () => [],
});
}

View File

@@ -1,19 +1,10 @@
import { Task } from "@lit/task";
import { LitElement, html } from "lit";
import { customElement } from "lit/decorators.js";
import { createFetchUsersTask } from "./fetch-users-task";
@customElement("x-app")
export class XApp extends LitElement {
fetchUsers = new Task(this, {
task: async () => {
const response = await fetch("https://randomuser.me/api/?results=3");
if (!response.ok) {
throw new Error(response.status);
}
return response.json();
},
args: () => [],
});
fetchUsers = createFetchUsersTask(this);
render() {
return this.fetchUsers.render({