File tree Expand file tree Collapse file tree 2 files changed +65
-0
lines changed
packages/svelte/tests/runtime-runes/samples/async-await Expand file tree Collapse file tree 2 files changed +65
-0
lines changed Original file line number Diff line number Diff line change 1+ import { tick } from 'svelte' ;
2+ import { test } from '../../test' ;
3+
4+ export default test ( {
5+ async test ( { assert, target } ) {
6+ const [ reset , one , two , reject ] = target . querySelectorAll ( 'button' ) ;
7+
8+ await tick ( ) ;
9+ assert . htmlEqual (
10+ target . innerHTML ,
11+ '<button>reset</button><button>one</button><button>two</button><button>reject</button> waiting'
12+ ) ;
13+
14+ one . click ( ) ;
15+ await tick ( ) ;
16+ assert . htmlEqual (
17+ target . innerHTML ,
18+ '<button>reset</button><button>one</button><button>two</button><button>reject</button> one_res'
19+ ) ;
20+
21+ reset . click ( ) ;
22+ await tick ( ) ;
23+ assert . htmlEqual (
24+ target . innerHTML ,
25+ '<button>reset</button><button>one</button><button>two</button><button>reject</button> waiting'
26+ ) ;
27+
28+ two . click ( ) ;
29+ await tick ( ) ;
30+ assert . htmlEqual (
31+ target . innerHTML ,
32+ '<button>reset</button><button>one</button><button>two</button><button>reject</button> two_res'
33+ ) ;
34+
35+ reset . click ( ) ;
36+ reject . click ( ) ;
37+ await tick ( ) ;
38+ assert . htmlEqual (
39+ target . innerHTML ,
40+ '<button>reset</button><button>one</button><button>two</button><button>reject</button> reject_catch'
41+ ) ;
42+ }
43+ } ) ;
Original file line number Diff line number Diff line change 1+ <script >
2+ let deferred = $state (Promise .withResolvers ());
3+ </script >
4+
5+ <button onclick ={() => deferred = Promise .withResolvers ()}>reset</button >
6+ <button onclick ={() => deferred .resolve (" one" )}>one</button >
7+ <button onclick ={() => deferred .resolve (" two" )}>two</button >
8+ <button onclick ={() => deferred .reject (" reject" )}>reject</button >
9+
10+ <svelte:boundary >
11+ {#await await deferred .promise + " _res" }
12+ waiting
13+ {:then res }
14+ {res }
15+ {:catch err }
16+ {err }_catch
17+ {/await }
18+
19+ {#snippet pending ()}
20+ <p >pending</p >
21+ {/ snippet }
22+ </svelte:boundary >
You can’t perform that action at this time.
0 commit comments