Voir le flux RSS

danielhagnoul

IIFE asynchrone

Noter ce billet
par , 29/03/2019 à 12h29 (4903 Affichages)
Citation Envoyé par https://developer.mozilla.org/fr/docs/Glossaire/IIFE
IIFE (Immediately Invoked Function Expression) (Expression de fonction invoquée immédiatement) est une fonction JavaScript qui est exécutée dès qu'elle est définie.

C'est un modèle de conception qui est également connu sous le nom de Fonction anonyme auto-exécutable et contient deux parties principales. La première est la fonction anonyme avec portée lexicale incluse dans le groupement opérateur(). Cela empêche l'accès aux variables dans l'expression idiomatique IIFE ainsi que la pollution de la portée globale.

La deuxième partie crée la fonction immédiatement exécutable (), à travers laquelle le moteur JavaScript interprétera directement la fonction.


Citation Envoyé par https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/await
L'opérateur await permet d'attendre la résolution d'une promesse (Promise). Il ne peut être utilisé qu'au sein d'une fonction asynchrone (définie avec l'instruction async function). L'expression await interrompt l'exécution d'une fonction asynchrone et attend la résolution d'une promesse. Lorsque la promesse est résolue (tenue ou rompue), la valeur est renvoyée et l'exécution de la fonction asynchrone reprend. Si la valeur de l'expression n'est pas une promesse, elle est convertie en une promesse résolue ayant cette valeur.

Si la promesse est rompue, l'expression await lève une exception avec la raison.
Exemple

Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const urls = [
    'https://jsonplaceholder.typicode.com/todos/1',
    'https://jsonplaceholder.typicode.com/todos/2',
    'https://jsonplaceholder.typicode.com/todos/3'
];
 
(async (self) => {
    for (const [idx, url] of urls.entries()) {
        try {
            const todo = await fetch(url);
            console.log(`Received Todo ${idx+1}:`, todo);
        } catch(e) {
            console.log(e);
        }
    }
 
    console.log(`Finished!`);
})(window);

Licence Creative Commons Attribution 2.0 Belgique

Envoyer le billet « IIFE asynchrone » dans le blog Viadeo Envoyer le billet « IIFE asynchrone » dans le blog Twitter Envoyer le billet « IIFE asynchrone » dans le blog Google Envoyer le billet « IIFE asynchrone » dans le blog Facebook Envoyer le billet « IIFE asynchrone » dans le blog Digg Envoyer le billet « IIFE asynchrone » dans le blog Delicious Envoyer le billet « IIFE asynchrone » dans le blog MySpace Envoyer le billet « IIFE asynchrone » dans le blog Yahoo

Mis à jour 29/03/2019 à 12h49 par danielhagnoul

Tags: async, await, es2018, iife
Catégories
Javascript , Développement Web , ES2018

Commentaires