main
js 32 lines 723 Bytes
Raw
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 }