mirror of https://github.com/sveltejs/svelte
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
531 B
29 lines
531 B
6 years ago
|
<script>
|
||
|
let promise = getRandomNumber();
|
||
|
|
||
|
async function getRandomNumber() {
|
||
3 years ago
|
const res = await fetch(`/tutorial/random-number`);
|
||
6 years ago
|
const text = await res.text();
|
||
|
|
||
|
if (res.ok) {
|
||
|
return text;
|
||
|
} else {
|
||
|
throw new Error(text);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function handleClick() {
|
||
|
promise = getRandomNumber();
|
||
|
}
|
||
|
</script>
|
||
|
|
||
1 year ago
|
<button on:click={handleClick}> generate random number </button>
|
||
6 years ago
|
|
||
|
{#await promise}
|
||
|
<p>...waiting</p>
|
||
|
{:then number}
|
||
|
<p>The number is {number}</p>
|
||
|
{:catch error}
|
||
|
<p style="color: red">{error.message}</p>
|
||
3 years ago
|
{/await}
|