| 1 | 'use server'; |
| 2 | |
| 3 | import {setServerState} from './ServerState.js'; |
| 4 | |
| 5 | async function sleep(ms) { |
| 6 | return new Promise(resolve => setTimeout(resolve, ms)); |
| 7 | } |
| 8 | |
| 9 | export async function like() { |
| 10 | // Test loading state |
| 11 | await sleep(1000); |
| 12 | setServerState('Liked!'); |
| 13 | return new Promise((resolve, reject) => resolve('Liked')); |
| 14 | } |
| 15 | |
| 16 | export async function greet(formData) { |
| 17 | const name = formData.get('name') || 'you'; |
| 18 | setServerState('Hi ' + name); |
| 19 | const file = formData.get('file'); |
| 20 | if (file) { |
| 21 | return `Ok, ${name}, here is ${file.name}: |
| 22 | ${(await file.text()).toUpperCase()} |
| 23 | `; |
| 24 | } |
| 25 | return 'Hi ' + name + '!'; |
| 26 | } |
| 27 | |
| 28 | export async function increment(n) { |
| 29 | // Test loading state |
| 30 | await sleep(1000); |
| 31 | return n + 1; |
| 32 | } |