Async i Await a JavaScript són paraules clau potents que s'utilitzen per gestionar operacions asíncrones amb promeses. Les funcions asíncrones retornen implícitament promeses, mentre que Await posa en pausa l'execució fins que es resolgui la promesa. Això simplifica el codi asíncron i millora la llegibilitat fent-lo semblar síncron.
Funció asíncrona
Elasync>
La funció ens permet escriure codi basat en promeses com si fos sincrònic. Això garanteix que el fil d'execució no estigui bloquejat.
convenció de nomenclatura de java
- Tractament de promeses : Les funcions asíncrones sempre retornen una promesa. Si es retorna un valor que no és una promesa, JavaScript l'embolica automàticament en una promesa resolta.
Sintaxi asíncrona
async function myFunction() { return 'Hello'; }>
Exemple: Aquí, veurem l'ús bàsic d'async a JavaScript.
javascript const getData = async () =>{ let data = 'Hola món'; dades de retorn; } getData().then(dades => console.log(dades));>>>
Sortida Hello World>
Espera paraula clau
Elawait>
La paraula clau s'utilitza per esperar que es resolgui una promesa. Només es pot utilitzar dins d'un bloc asíncron.
- Pausa d'execució : Await fa que el codi espere fins que la promesa retorni un resultat, permetent un codi asíncron més net i manejable.
Sintaxi
listnode javajavascript
const getData = async () =>{ let y = esperar 'Hola món'; console.log(y); } console.log(1); getData(); console.log(2);>>>
Sortida
El esperar La paraula clau s'utilitza dins d'una funció asíncrona per aturar la seva execució i esperar que es resolgui una promesa abans de continuar.
Exemple Async/Await
Aquí, implementarem diverses promeses en un mètode, i després aquest mètode utilitzarem per mostrar el nostre resultat. Podeu consultar el JS sintaxi async/wait en l'exemple.
Javascript function asynchronous_operational_method() { let first_promise = new Promise((resolve, reject) =>resoldre('Hola')); let second_promise = new Promise((resolver, rebutjar) => { setTimeout(() => {resolver(' techcodeview.com..'); }, 1000); }); let combined_promise = Promesa.tot([primera_promesa, segona_promesa]); retornar combinada_promesa; } visualització de la funció asíncrona () { deixar dades = esperar mètode_operacional_asincrònic (); console.log(dades); } mostrar();>>>
Sortida:
Explicació:
- Promesa Creació :
- Es creen dues promeses: una es resol immediatament amb Hello, i l'altra es resol després d'1 segon amb techcodeview.com...
- Combinant promeses :
- El mètode Promise.all() combina les dues promeses en una única promesa, combined_promise.
- Funció asíncrona :
- La funció display() es declara asincrònica, la qual cosa indica que conté operacions asíncrones.
- A l'espera de la resolució de la promesa :
- La paraula clau await atura l'execució fins que combined_promise es resol.
- Resultat de registre :
- La matriu resolta de combined_promise es registra a la consola.
Nota
A resoldre i rebutjar són arguments predefinits per JavaScript.
- La funció de resolució s'utilitza quan es completa una tasca asíncrona i retorna el resultat.
- La funció de rebutjar s'utilitza quan una tasca asíncrona falla i retorna els motius de l'error.
Avantatges de Async i Await
- Llegibilitat millorada : Async i Await permeten escriure codi asíncron amb un estil síncron, facilitant la lectura i la comprensió.
- Gestió d'errors : L'ús de blocs try/catch amb async/wait fa que la gestió d'errors sigui senzilla.
- Evita l'infern de devolució de trucades : Async i Await ajuden a evitar les devolució de trucades imbricades i les complexes cadenes de promeses.
- Millor depuració : La depuració del codi asíncron/espera és més intuïtiva, ja que es comporta com un codi síncron.
Conclusió
Async i Await a JavaScript han revolucionat la programació asíncrona fent que el codi sigui més llegible i fàcil de mantenir. En permetre que el codi asíncron s'escrigui amb un estil síncron, redueixen la complexitat associada a les devolucions de trucada i l'encadenament de promeses. Comprendre i utilitzar l'async and await de manera eficaç pot millorar significativament les vostres habilitats de programació de JavaScript, facilitant la gestió de les operacions asíncrones als vostres projectes.
convertir la cadena en data
Navegadors compatibles:
Els navegadors compatibles amb JS Funció Async/Await s'enumeren a continuació:
- Google Chrome 55 i superior
- Firefox 52 i superior
- Apple Safari 10.1 i posterior
- Opera 42 i superior
- Edge 14 i superior