Async a Await v JavaScriptu jsou výkonná klíčová slova používaná ke zpracování asynchronních operací se sliby. Asynchronní funkce implicitně vracejí sliby, zatímco Await pozastaví provádění, dokud se slib nevyřeší. To zjednodušuje asynchronní kód a zlepšuje čitelnost tím, že se jeví jako synchronní.
Asynchronní funkce
Theasync>Funkce nám umožňuje psát kód založený na slibech, jako by byl synchronní. Tím je zajištěno, že prováděcí vlákno není blokováno.
typy počítačů
- Zpracování slibů : Asynchronní funkce vždy vrátí slib. Pokud je vrácena hodnota, která není příslibem, JavaScript ji automaticky zabalí do vyřešeného příslibu.
Asynchronní syntaxe
async function myFunction() { return 'Hello'; }>Příklad: Zde uvidíme základní použití async v JavaScriptu.
javascript
const getData = async () =>{ let data = 'Ahoj světe'; vrátit data; } getData().then(data => console.log(data));> Výstup
Hello World>
Klíčové slovo čekání
Theawait>klíčové slovo se používá k čekání na vyřešení příslibu. Lze jej použít pouze v rámci asynchronního bloku.
- Pozastavení provádění : Await způsobí, že kód čeká, dokud slib nevrátí výsledek, což umožňuje čistší a lépe spravovatelný asynchronní kód.
Syntax
let value = await promise;>
Příklad : Tento příklad ukazuje základní použití klíčového slova wait v JavaScriptu.
javascript const getData = async () =>{ ať y = čeká 'Ahoj světe'; console.log(y); } console.log(1); getData(); console.log(2);> Výstup
1 2 Hello World>
The asynchronní klíčové slovo transformuje běžnou JavaScriptovou funkci na asynchronní funkci, což způsobí, že vrátí Promise.
jak odstranit sloupec v postgresqlThe čekat Klíčové slovo se používá uvnitř asynchronní funkce k pozastavení jejího provádění a čekání na vyřešení příslibu, než bude pokračovat.
Příklad Async/Await
Zde budeme implementovat několik slibů v metodě a pak tuto metodu použijeme pro zobrazení našeho výsledku. Můžete zkontrolovat JS syntaxe async/wait v příkladu.
vracející pole v JavěJavascript
function asynchronous_operational_method() { let first_promise = new Promise((resolve, reject) =>vyřešit('Dobrý den')); nech second_promise = new Promise((vyřešit, odmítnout) => { setTimeout(() => { resolve(' techcodeview.com..'); }, 1000; }); let combined_promise = Promise.all([první_příslib, druhý_příslib]); návrat kombinovaný_slib; } async function display() { let data = wait asynchronous_operational_method(); console.log(data); } Zobrazit();> Výstup:
[ 'Hello', ' techcodeview.com..' ]>
Vysvětlení:
- Stvoření slibu :
- Jsou vytvořeny dva sliby: jeden se vyřeší okamžitě s Hello a druhý se vyřeší po 1 sekundě s techcodeview.com...
- Kombinace slibů :
- Metoda Promise.all() kombinuje oba sliby do jediného slibu, combined_promise.
- Asynchronní funkce :
- Funkce display() je deklarována jako asynchronní, což znamená, že obsahuje asynchronní operace.
- Čeká se na usnesení slibu :
- Klíčové slovo čekání pozastaví vykonávání, dokud není combined_promise vyřešeno.
- Výsledek protokolování :
- Vyřešené pole z combined_promise se zaprotokoluje do konzoly.
Poznámka
Na odhodlání a odmítnout jsou předdefinované argumenty JavaScriptem.
- funkce resolve se používá, když je dokončena asynchronní úloha a vrací výsledek.
- funkce odmítnutí se používá, když selže asynchronní úloha a vrací důvody selhání.
Výhody Async a Await
- Vylepšená čitelnost : Async a Await umožňují psát asynchronní kód v synchronním stylu, což usnadňuje čtení a porozumění.
- Vypořádání se s chybou : Použití bloků try/catch s async/await usnadňuje zpracování chyb.
- Vyhýbá se peklu zpětného volání : Async a Await pomáhají vyhnout se vnořeným zpětným voláním a složitým řetězcům slibů.
- Lepší ladění : Ladění asynchronního/čekajícího kódu je intuitivnější, protože se chová jako synchronní kód.
Závěr
Async a Await v JavaScriptu způsobily revoluci v asynchronním programování tím, že kód byl čitelnější a udržitelnější. Tím, že umožňují psát asynchronní kód v synchronním stylu, snižují složitost spojenou se zpětnými voláními a řetězením slibů. Porozumění a efektivní používání async a čekání může výrazně zlepšit vaše znalosti programování v JavaScriptu a usnadnit zpracování asynchronních operací ve vašich projektech.
Podporované prohlížeče:
Prohlížeče podporované JS Funkce Async/Await jsou uvedeny níže:
- Google Chrome 55 a vyšší
- Firefox 52 a vyšší
- Apple Safari 10.1 a vyšší
- Opera 42 a vyšší
- Edge 14 a výše