Menu
Coddy logo textTech

Async i await

Lekcja 9 z 9 w kursie Podchwytliwe elementy nowoczesnego JavaScriptu (ES6+) w Coddy.

Jeśli ukończyłeś(-aś) ostatnią lekcję, pewnie myślisz, że obietnice są trudne do zrozumienia albo nawet trudno zapamiętać ich składnię!

Nie martw się! ES6 pomoże Ci w tej kwestii. 

<i>async</i> i <i>await</i> ułatwiają pisanie obietnic

Rozważ funkcję wykonującą zadanie asynchroniczne (czasochłonne). 

Chcemy, aby ta funkcja zwracała obietnicę i czekała na jej wynik.

Jeśli napiszemy async przed dowolną funkcją Javascript, zawsze zwraca ona obietnicę.

await sprawi, że funkcja będzie czekać na obietnicę i wstrzyma swoje działanie, dopóki obietnica nie zostanie spełniona.

Rozważ przykład pobierania danych z serwera — może to zająć kilka sekund.

 async function fetchData () {
 	const response = await fetch("/url"); // poczekaj na zakończenie obietnicy
  	const movies = await response.json(); // poczekaj na zakończenie obietnicy
  	return movies;
  } 
  
  fetchData.then(val => console.log(val)) // dane zwrócone przez API

Słowa kluczowego await można używać tylko wewnątrz funkcji async.

async-await można stosować zarówno w zwykłych funkcjach, jak i funkcjach strzałkowych.

const someFunc = async (a) => { await //kod }
challenge icon

Wyzwanie

Średni

Masz daną funkcję foo, która otrzymuje liczbę całkowitą n i zwraca obietnicę.

Napisz funkcję sum, która przyjmuje dwie obietnice jako dane wejściowe i zwraca sumę ich rozwiązanych wartości.

Funkcja powinna być oznaczona jako async!

Spróbuj swoich sił

const foo = async (x) => {
    return x
}

// Napisz swój kod poniżej

Wszystkie lekcje w sekcji Podchwytliwe elementy nowoczesnego JavaScriptu (ES6+)

Poćwicz samodzielnie: Kompilator JavaScript online