Maison > interface Web > js tutoriel > Promesses des concepts JavaScript avancés et async/wait et try-catch

Promesses des concepts JavaScript avancés et async/wait et try-catch

Susan Sarandon
Libérer: 2024-12-27 01:00:10
original
626 Les gens l'ont consulté

Advanced JavaScript Concepts promises and async/await and try-catch

Jour 8 : Concepts JavaScript avancés

Date : 15 décembre 2024

Bienvenue au jour 8 ! Aujourd'hui, nous explorons certains des concepts JavaScript les plus puissants et les plus avancés qui améliorent vos compétences en programmation. Celles-ci incluent des fonctionnalités ES6 modernes, une programmation asynchrone avec promesses et async/wait, ainsi qu'une gestion efficace des erreurs à l'aide de try-catch. Ces outils sont essentiels pour créer des applications JavaScript efficaces, lisibles et maintenables.


1. Introduction aux fonctionnalités ES6

ES6 (également appelé ECMAScript 2015) a introduit plusieurs fonctionnalités qui rendent JavaScript plus puissant et plus convivial pour les développeurs. Discutons de quelques fonctionnalités clés :

Déstructuration

La déstructuration vous permet d'extraire des valeurs de tableaux ou des propriétés d'objets et de les affecter à des variables de manière claire et concise.

Exemple : Déstructuration de tableaux

const numbers = [1, 2, 3];
const [first, second, third] = numbers;
console.log(first, second, third); // Output: 1 2 3
Copier après la connexion
Copier après la connexion

Exemple : Déstructuration d'objets

const user = { name: "Alice", age: 25 };
const { name, age } = user;
console.log(name, age); // Output: Alice 25
Copier après la connexion

Modèles littéraux

Les littéraux de modèle simplifient le formatage des chaînes en autorisant les expressions intégrées et les chaînes multilignes.

Exemple : Interpolation de chaîne

const name = "John";
const greeting = `Hello, ${name}! Welcome to JavaScript.`;
console.log(greeting); // Output: Hello, John! Welcome to JavaScript.
Copier après la connexion

Exemple : chaînes multilignes

const message = `This is a
multi-line string using template literals.`;
console.log(message);
Copier après la connexion

2. Promesses et asynchrone/attente

Promesses

Une promesse est un objet représentant l'achèvement ou l'échec éventuel d'une opération asynchrone.

Exemple : Utiliser une promesse

const fetchData = new Promise((resolve, reject) => {
  let dataLoaded = true;
  if (dataLoaded) {
    resolve("Data fetched successfully!");
  } else {
    reject("Failed to fetch data.");
  }
});

fetchData
  .then((data) => console.log(data))  // Output: Data fetched successfully!
  .catch((error) => console.error(error));
Copier après la connexion

Async/Attendre

async/await est une façon plus propre de travailler avec les promesses, donnant au code asynchrone l'apparence et le comportement comme du code synchrone.

Exemple : Utilisation de async/await

const fetchData = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve("Data loaded!"), 2000);
  });
};

const getData = async () => {
  console.log("Fetching data...");
  const data = await fetchData();
  console.log(data); // Output: Data loaded!
};

getData();
Copier après la connexion

3. Gestion des erreurs avec try-catch

Des erreurs peuvent survenir lors de l'exécution du code, notamment avec les opérations asynchrones. La gestion gracieuse de ces erreurs garantit une expérience utilisateur fluide.

Exemple : try-catch de base

try {
  let result = 10 / 0;
  console.log(result); // Output: Infinity
} catch (error) {
  console.error("An error occurred:", error.message);
}
Copier après la connexion

Utiliser try-catch avec Async/Await

Lorsque vous travaillez avec du code asynchrone, utilisez try-catch pour gérer les erreurs.

const fetchData = () => {
  return new Promise((resolve, reject) => {
    let success = false;
    if (success) {
      resolve("Data fetched!");
    } else {
      reject("Failed to fetch data.");
    }
  });
};

const getData = async () => {
  try {
    const data = await fetchData();
    console.log(data);
  } catch (error) {
    console.error("Error:", error);
  }
};

getData();
Copier après la connexion

4. Cas d'utilisation pratique

Combinons ces concepts dans un exemple concret : récupérer les données utilisateur à partir d'une API.

Exemple : récupération de données avec Async/Await et gestion des erreurs

const numbers = [1, 2, 3];
const [first, second, third] = numbers;
console.log(first, second, third); // Output: 1 2 3
Copier après la connexion
Copier après la connexion

5. Points clés à retenir

  1. Déstructuration : simplifie le travail avec des tableaux et des objets.
  2. Modèles littéraux : facilite la manipulation des chaînes.
  3. Promesses et Async/Await : gérez efficacement les opérations asynchrones.
  4. Gestion des erreurs : utilisez try-catch pour gérer les erreurs avec élégance.

Tâches pratiques pour le jour 8

  1. Utilisez la déstructuration pour extraire des propriétés spécifiques d'un objet.
  2. Écrivez une fonction qui utilise async/await pour récupérer des données à partir d'une API publique.
  3. Ajoutez la gestion des erreurs à votre fonction pour gérer les pannes de réseau ou les données invalides.

Prochaines étapes

Demain, le Jour 9, nous plongerons dans les Modules et classes JavaScript, explorant les aspects modulaires et orientés objet de JavaScript. Ces connaissances vous aideront à écrire du code plus propre et plus organisé. À bientôt alors !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal