Svelte

Svelte - Await Block

2020. 12. 27. 23:39
๋ชฉ์ฐจ
  1. ๐Ÿ“Œ ๋ชฉ๋ก
  2. ๐Ÿ“Œ Introduction
  3. ๐Ÿ“Œ Await Block
  4. ๐Ÿ“Œ Short version
  5. ๐Ÿ“Œ Conclusion
  6. ๐Ÿ“Œ Reference
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋ชฉ๋ก

  • Introduction
  • Await Block
  • Short version
  • Conclusion
  • Reference

๐Ÿ“Œ Introduction

์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ svelte์˜ await block์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. apollo์˜ ๊ธฐ๋Šฅ๊ณผ ์œ ์‚ฌํ•˜๊ธด ํ•ด์š”. ๊ทธ๋Ÿผ ํ•œ๋ฒˆ ์•Œ์•„๋ณผ๊นŒ์š”?

๐Ÿ“Œ Await Block

๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์€ ์ด๋ ‡์Šต๋‹ˆ๋‹ค.

{#await promise}

{:then vale}

{:catch error}

{/await}

์ฒ˜์Œ์— apollo์—์„œ ์ด๋Ÿฌํ•œ ๋ฌธ๋ฒ•์„ ๋ดค์„๋• ์ •๋ง ์‹ ๊ธฐํ•˜๊ธด ํ–ˆ๋Š”๋ฐ ์ด์ œ ๋”์ด์ƒ loading์ฒ˜๋ฆฌ๋ฅผ ๊ฐ๊ฐ ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ์ข‹์€๊ฑฐ ๊ฐ™์•„์š”. ๊ทธ๋Ÿผ ํ•œ๋ฒˆ jsonplaceholder์—์„œ ๊ฐ’์„ ๋ฐ›์•„์™€ ๋ณผ๊นŒ์š”?

<script>
  import axios from 'axios';

  let users;

  const getUsers = async () => {
    try {
      const res = await axios.get('https://jsonplaceholder.typicode.com/users');
      users = res.data;
      return res;
    } catch(error) {
      throw new Error(error);
    }
  }
  let promise = getUsers();
</script>

{#await promise}
  <!-- โญ๏ธ ์ด๋ ‡๊ฒŒ ๊ธฐ๋‹ค๋ ค ์ค„์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค... -->
  <h1>...LOADING</h1>
{:then}
  <!-- ๋ฐ›์•„์˜จ ์ž๋ฃŒ๋ฅผ ํ•œ๋ฒˆ each๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ๊ฒŒ์š”. -->
  <ul>
    {#each users as {name, username}}
    <li>
      <span>name: {name}</span>
      <span>username: {username}</span>
    </li>
    {/each}
  </ul>
{:catch error}
  <h1>ERROR: {error.message}</h1>
{/await}

๐Ÿ“Œ Short version

๋ฐ”๋กœ then์„ ์‚ฌ์šฉํ•ด์„œ ๋ฝ‘์•„์ค„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

{#await promise then value}
  <div>{value}</div>
{/await}

๐Ÿ“Œ Conclusion

์˜ค๋Š˜์€ ์ด๋ ‡๊ฒŒ ํ•ด์„œ await block์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. apollo๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์ด ์ด๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š”๊ฑฐ ๊ฐ™์•„์š”. ์ด๊ฒŒ ๊ทธ๋ƒฅ ๋ถ™์–ด์žˆ์–ด์„œ ์ฐธ ์ข‹์€๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”๋”์šฑ svetle์˜ ๋งค๋ ฅ์— ๋น ์ง€๋Š”๊ฑฐ ๊ฐ™์•„์š”. ๊ฐ„๊ฒฐํ•˜๋ฉด์„œ๋„ ํ•„์š”ํ•œ๊ฑด ๋‹ค์žˆ๋Š”... ๋‚ด์ผ ํšŒ์‚ฌ๋ฅผ ๊ฐ€๋ฉด vue๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”๋ฐ ๋‹ต๋‹ตํ•œ ๋งˆ์Œ์ด ์ปค์งˆ๊ฑฐ ๊ฐ™์•„์š”.... ๐Ÿ˜ญ ๊ทธ๋Ÿผ ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๋งŒ๋‚˜์š”~ ์•ˆ๋…•!

๐Ÿ“Œ Reference

  • svelte tutorial
๋ฐ˜์‘ํ˜•

'Svelte' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Svelte - Events  (0) 2020.12.29
Svelte - Iteration  (0) 2020.12.26
Svelte - Logic  (0) 2020.12.26
Svelte - Props  (0) 2020.12.26
Svelte - Reactivity  (0) 2020.12.26
  1. ๐Ÿ“Œ ๋ชฉ๋ก
  2. ๐Ÿ“Œ Introduction
  3. ๐Ÿ“Œ Await Block
  4. ๐Ÿ“Œ Short version
  5. ๐Ÿ“Œ Conclusion
  6. ๐Ÿ“Œ Reference
'Svelte' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Svelte - Events
  • Svelte - Iteration
  • Svelte - Logic
  • Svelte - Props
eddie0329
eddie0329
Front-end Developer
๋ฐ˜์‘ํ˜•
eddie0329
Eddie Sunny's Blog
eddie0329
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (100)
    • Summary of Book (0)
    • Vue Study (11)
    • Vue TDD (9)
    • Vue BDD (5)
    • Design Pattern (9)
    • Javascript Study (3)
    • React Study (15)
    • React TDD (1)
    • Vue Storybook (2)
    • Refactoring (0)
    • Graphql_Apollo (3)
    • Svelte (8)
    • Open Source (1)
    • D3 (4)
    • Typescript (1)
    • CSS (2)
    • Android (0)
    • Java (0)
    • Kotlin (0)
    • ์žก๋‹ด (0)
    • Swift (19)
    • Rust (2)
    • ํšŒ์‚ฌ์ด์•ผ๊ธฐ (2)
    • ReactNative Study (2)
    • Vitest (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • Home

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • react-component-slot
  • Cypress
  • slot ํŒจํ„ด
  • Nextjs
  • react useRef
  • Vue
  • swift5
  • swift
  • Kotlin
  • BDD
  • Design Pattern
  • Javascript
  • react
  • vue tdd
  • storybook6
  • vue3
  • React Native
  • client only
  • vue bdd
  • apollo
  • jest
  • TDD
  • CSS
  • vue cypress
  • Vue test
  • TypeScript
  • svelte
  • javascript pattern
  • vue storybook
  • D3

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
eddie0329
Svelte - Await Block
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.