Opérations asynchrones JavaScript : explication détaillée de Promise et async/await
Promise et async/await sont deux façons pour JavaScript de gérer les opérations asynchrones. Cet article expliquera leurs différences, leurs avantages et les scénarios applicables.
Promesse
const fetchData = () => { return new Promise((resolve, reject) => { setTimeout(() => { resolve("数据已获取"); }, 1000); }); }; fetchData() .then((data) => console.log(data)) .catch((error) => console.error(error));
.then()
pour gérer les résultats réussis. .catch()
pour gérer les erreurs. .then()
pour appeler en chaîne plusieurs opérations asynchrones. .then()
Les appels enchaînés sont plus propres que les rappels imbriqués). .catch()
pour la gestion explicite des erreurs. .then()
appels, la gestion des erreurs peut nécessiter une attention particulière. Async/Attendre
const fetchData = async () => { try { const data = await new Promise((resolve, reject) => { setTimeout(() => { resolve("数据已获取"); }, 1000); }); console.log(data); } catch (error) { console.error(error); } }; fetchData();
async
pour déclarer une fonction qui renvoie une promesse. await
pour suspendre l'exécution jusqu'à ce que la promesse soit terminée. try...catch
pour gérer les erreurs. .then()
appels en chaîne, la syntaxe est plus claire et plus facile à comprendre. try...catch
est utilisé pour la gestion centralisée des erreurs. async
. Quand utiliser
Promesse :
Async/Attendre :
Utiliser en combinaison
Async/await peut être combiné avec Promise pour des cas d'utilisation avancés :
const fetchData = () => { return new Promise((resolve, reject) => { setTimeout(() => resolve("数据已获取"), 1000); }); }; const processData = async () => { try { const data = await fetchData(); console.log(data); } catch (error) { console.error(error); } }; processData();
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!