PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.28.0
Code Block Pro – Beautiful Syntax Highlighting v1.28.0
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
← All changes | build/shiki/samples/javascript.sample +24 -21 1.9.11.28.0 View file →
@@ -1,26 +1,29 @@
1 -// posts will be populated at build time by getStaticProps()
2 -function Blog({ posts }) {
3 - return (
4 - <ul>
5 - {posts.map((post) => (
6 - <li>{post.title}</li>
7 - ))}
8 - </ul>
9 - )
1 +function resolveAfter2Seconds(x) {
2 + return new Promise((resolve) => {
3 + setTimeout(() => {
4 + resolve(x);
5 + }, 2000);
6 + });
10 7 }
11 8
12 -// This function gets called at build time on server-side.
13 -export async function getStaticProps() {
14 - const res = await fetch('https://.../posts')
15 - const posts = await res.json()
9 +// async function expression assigned to a variable
10 +const add = async function (x) {
11 + const a = await resolveAfter2Seconds(20);
12 + const b = await resolveAfter2Seconds(30);
13 + return x + a + b;
14 +};
16 15
17 - return {
18 - props: {
19 - posts
20 - }
21 - }
22 -}
16 +add(10).then((v) => {
17 + console.log(v); // prints 60 after 4 seconds.
18 +});
23 19
24 -export default Blog
20 +// async function expression used as an IIFE
21 +(async function (x) {
22 + const p1 = resolveAfter2Seconds(20);
23 + const p2 = resolveAfter2Seconds(30);
24 + return x + (await p1) + (await p2);
25 +})(10).then((v) => {
26 + console.log(v); // prints 60 after 2 seconds.
27 +});
25 28
26 -// From https://nextjs.org/docs/basic-features/data-fetching
29 +// From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/async_function