Maison interface Web js tutoriel Scénarios d'utilisation et fonctions de la méthode then de Promise

Scénarios d'utilisation et fonctions de la méthode then de Promise

Feb 18, 2024 pm 06:33 PM
promise 作用 then

Scénarios dutilisation et fonctions de la méthode then de Promise

Que fait la méthode then de Promise ? Des exemples de code spécifiques sont nécessaires

En JavaScript, Promise est un mécanisme de gestion des opérations asynchrones. Cela peut rendre le code plus concis et plus lisible, tout en évitant le problème de l'enfer des rappels. Promise fournit une méthode then pour gérer la fonction de rappel une fois l'opération réussie. Ce qui suit présentera en détail la méthode then de Promise et ses fonctions, et fournira des exemples de code spécifiques.

La méthode then de Promise est utilisée pour spécifier la fonction de rappel lorsque l'objet Promise réussit. Il accepte une ou plusieurs fonctions de rappel comme paramètres. Lorsque l'état Promise devient réussi, la méthode then sera appelée, transmettant le résultat réussi en tant que paramètre à la fonction de rappel. Parmi elles, la méthode then renvoie un nouvel objet Promise, et plusieurs méthodes then peuvent être appelées dans une chaîne.

Afin de mieux comprendre le rôle de la méthode then de Promise, démontrons son utilisation à travers un exemple spécifique.

function getData() {
  return new Promise((resolve, reject) => {
    // 模拟异步操作,假设请求数据需要1秒钟
    setTimeout(() => {
      const data = '这是异步获取的数据';
      // 模拟请求成功
      resolve(data);
    }, 1000);
  });
}

// 调用 getData 方法获取数据,并使用 then 方法处理成功的回调函数
getData()
  .then((result) => {
    console.log('请求成功');
    console.log('获取到的数据为:', result);
  })
  .catch((error) => {
    console.error('请求失败:', error);
  });
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini une fonction appelée getData qui renvoie un objet Promise. Dans le constructeur Promise, nous simulons une opération asynchrone et utilisons la fonction setTimeout pour simuler un délai d'une seconde. Une fois le délai écoulé, nous appelons la méthode de résolution, en transmettant les données à la fonction de rappel de réussite.

Ensuite, nous appelons la fonction getData et utilisons la méthode then pour gérer le rappel réussi. Dans la fonction de rappel, nous imprimons une invite indiquant que la demande a réussi et générons les données obtenues.

Si l'état de la promesse change, la méthode then sera automatiquement appelée. Cela nous permet d'enchaîner plusieurs méthodes then pour gérer plusieurs opérations asynchrones. Voici un exemple :

function getData() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const data = '这是异步获取的数据';
      resolve(data);
    }, 1000);
  });
}

getData()
  .then((result) => {
    console.log('第一个异步操作成功');
    console.log('获取到的数据为:', result);
    return '这是返回的数据';
  })
  .then((result) => {
    console.log('第二个异步操作成功');
    console.log('返回的数据为:', result);
  })
  .catch((error) => {
    console.error('请求失败:', error);
  });
Copier après la connexion

Dans l'exemple ci-dessus, nous avons renvoyé une nouvelle valeur dans la fonction de rappel de la première méthode then. Cette nouvelle valeur deviendra le paramètre de la méthode then suivante. De cette manière, une chaîne d’appels Promise est formée. Dans la deuxième méthode then, nous imprimons une invite indiquant que la deuxième opération asynchrone a réussi et générons les données renvoyées.

Si une erreur se produit dans l'une des méthodes then de l'appel de la chaîne Promise, l'erreur sera détectée et transmise à la méthode catch la plus proche. La méthode catch est utilisée pour gérer les erreurs dans la chaîne Promise. Dans l'exemple ci-dessus, si une erreur se produit dans l'une des opérations asynchrones, nous imprimerons le message d'erreur dans la méthode catch.

En résumé, la méthode then de Promise est utilisée pour gérer la fonction de rappel une fois l'opération asynchrone réussie et peut effectuer des appels en chaîne. Il s'agit d'un mécanisme permettant d'optimiser le code asynchrone et le flux de traitement, rendant le code plus concis et plus lisible. Grâce à la méthode then, nous pouvons gérer efficacement les opérations asynchrones et gérer facilement les résultats de plusieurs opérations asynchrones.

Ce qui précède est la fonction et l'exemple de code spécifique de la méthode then de Promise. J'espère qu'en lisant cet article, vous pourrez mieux comprendre la méthode de Promise et utiliser cette technique de manière flexible dans le développement réel.

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!

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

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comprendre le rôle et l'utilisation de Linux DTS Comprendre le rôle et l'utilisation de Linux DTS Mar 01, 2024 am 10:42 AM

Comprendre le rôle et l'utilisation de Linux DTS

A quoi sert un adaptateur Bluetooth ? A quoi sert un adaptateur Bluetooth ? Feb 19, 2024 pm 05:22 PM

A quoi sert un adaptateur Bluetooth ?

Explorez l'importance et le rôle de la fonction de définition en PHP Explorez l'importance et le rôle de la fonction de définition en PHP Mar 19, 2024 pm 12:12 PM

Explorez l'importance et le rôle de la fonction de définition en PHP

Analyse de la fonction et du principe de nohup Analyse de la fonction et du principe de nohup Mar 25, 2024 pm 03:24 PM

Analyse de la fonction et du principe de nohup

Tenir parole : les avantages et les inconvénients de tenir ses promesses Tenir parole : les avantages et les inconvénients de tenir ses promesses Feb 18, 2024 pm 08:06 PM

Tenir parole : les avantages et les inconvénients de tenir ses promesses

Explication détaillée des scénarios d'utilisation et des fonctions du mot clé volatile en Java Explication détaillée des scénarios d'utilisation et des fonctions du mot clé volatile en Java Jan 30, 2024 am 10:01 AM

Explication détaillée des scénarios d'utilisation et des fonctions du mot clé volatile en Java

A quoi sert PHP ? Explorez le rôle et les fonctions de PHP A quoi sert PHP ? Explorez le rôle et les fonctions de PHP Mar 24, 2024 am 11:39 AM

A quoi sert PHP ? Explorez le rôle et les fonctions de PHP

En savoir plus sur Promise.resolve() En savoir plus sur Promise.resolve() Feb 18, 2024 pm 07:13 PM

En savoir plus sur Promise.resolve()

See all articles