- Création d'une fonction d'erreur :
- Créez une fonction appelée
generateError, qui prend un paramètremessage. - À l'intérieur de cette fonction, utilisez
throw new Error(message)pour générer une erreur avec le message spécifié.
- Créez une fonction appelée
- Appels de fonctions :
- Appelez
generateErrordans différentes fonctions imbriquées. - Utilisez
try...catchpour gérer l'erreur à différents niveaux. - Observez comment le stack trace change à mesure que vous appelez
generateErrordans des contextes différents.
- Appelez
- Création d'une fonction asynchrone :
- Créez une fonction asynchrone appelée
asyncFunction. - À l'intérieur de cette fonction, utilisez
setTimeoutpour simuler une opération asynchrone qui prend du temps (par exemple, 2000 millisecondes). - Utilisez une promesse pour indiquer la fin de l'opération.
- Créez une fonction asynchrone appelée
- Utilisation de la promesse :
- Appelez
asyncFunctionet utilisez.thenpour afficher un message lorsque la promesse est résolue. - Utilisez également
.catchpour gérer une éventuelle erreur et afficher un message d'erreur.
- Appelez
- Chaînage de promesses :
- Créez une deuxième fonction asynchrone appelée
anotherAsyncFunctionavec une promesse similaire. - Appelez d'abord
asyncFunction, puis enchaînez l'appel àanotherAsyncFunctionaprès la résolution de la première promesse. - Utilisez
.thenpour gérer le succès et.catchpour gérer les erreurs.
- Créez une deuxième fonction asynchrone appelée
- Création d'une fonction qui utilise à la fois une promesse et génère une erreur :
- Créez une fonction appelée
mixedFunction. - À l'intérieur de cette fonction, appelez d'abord
asyncFunction, puis appelezgenerateErrordans le.thende la promesse. - Utilisez
.catchpour gérer les erreurs de la promesse et afficher un message d'erreur.
- Créez une fonction appelée
- Observez comment le stack trace évolue lorsque vous utilisez
generateErrordans différentes situations, en particulier dans le contexte des promesses. - Comprenez comment les promesses permettent de gérer de manière asynchrone les opérations tout en maintenant un flux de contrôle lisible.
N'hésitez pas à expérimenter et à explorer davantage ces concepts pour renforcer votre compréhension 🚀