Simulierung eines Backend Calls mittels SetTimeout

This commit is contained in:
marco 2025-06-11 12:10:27 +02:00
parent ca9ab3249f
commit 3651887453
2 changed files with 30 additions and 2 deletions

View File

@ -55,8 +55,8 @@ function App() {
</select> </select>
<Dynamic component={options[selected()]} /> <Dynamic component={options[selected()]} />
<FooComponent text="props test"/> <FooComponent text="props test"/>
<div class="m-12 items-center justify-center^ flex h-screen shadow-lg bg-twitter-blue text-center"> <div class="m-12 items-center justify-center^ flex shadow-lg bg-twitter-blue text-center">
red background blue background
</div> </div>
<NewFooComponent/> <NewFooComponent/>
</> </>

View File

@ -1,6 +1,34 @@
import {createSignal, createResource, Switch, Match, Show} from "solid-js"
const fetchUser = async () => {
const response = await fetch('');
return new Promise((resolve) => {
setTimeout(() => {
resolve(["abc", "def", "ghi"]);
}, 3000); // 2 Sekunden Delay
});
}
function NewFooComponent(){ function NewFooComponent(){
const [userId, setUserId] = createSignal();
const [user] = createResource(userId, fetchUser);
setTimeout(()=>{
setUserId(5);
},2000);
return ( return (
<> <>
<Show when={user.loading}>
Loading...
</Show>
<Switch>
<Match when={user.error}>
<span>Error: {user.error}</span>
</Match>
<Match when={user()}>
<div>{JSON.stringify(user())}</div>
</Match>
</Switch>
<div class="md (768px) justify-center bg-amber-100 py-7 justify-center text-center"> <div class="md (768px) justify-center bg-amber-100 py-7 justify-center text-center">
New Foo New Foo
</div> </div>