Maison >Applet WeChat >Développement de mini-programmes >Un exemple de tutoriel sur le développement de mini-programmes utilisant co pour gérer des processus asynchrones
J'ai récemment appris les mini-programmes WeChat. Voici un résumé de ce que j'ai appris. Cet article vous présente principalement la méthode d'utilisation de co pour gérer les processus asynchrones dans les mini-programmes WeChat. code pour tout le monde. Pour une étude de référence, les amis qui en ont besoin peuvent venir jeter un œil ci-dessous.
Cet article présente principalement le didacticiel sur la façon d'utiliser co pour gérer les processus asynchrones dans les mini-programmes WeChat. Il est partagé pour votre référence et votre apprentissage. Les amis qui en ont besoin peuvent consulter l'introduction détaillée ci-dessous :
co
co est une bibliothèque d'outils basée sur la méthode d'écriture [synchronisation des processus asynchrones] implémentée par la fonctionnalité ES6 Generator.
co doit utiliser la fonctionnalité Promise, créons donc d'abord une méthode asynchrone qui utilise Promise pour gérer :
function myAsyncFunc() { return new Promise(function (resolve, reject) { setTimeout(function () { console.log("myAsyncFunction done!"); resolve({ data: "Hello,World" }) }, 2000); }); }
Ensuite, si vous utilisez cette méthode directement, ce sera comme suit , utilisez la méthode de rappel Then/catch pour gérer les résultats des appels et la gestion des exceptions :
myAsyncFunc().then(function (result) { console.log(result.data); //Hello,World }).catch(function (err) { //... });
Et si vous utilisez co, ce sera comme ceci :
co(function *() { try { var result = yield myAsyncFunc(); console.log(result.data); //Hello,World } catch(e) { } });
Cette façon d'écrire, n'est-ce pas ? Est-ce la méthode d'écriture synchrone que nous connaissons très bien et qui correspond davantage aux habitudes de pensée logique ?
Concernant l'utilisation de co, je n'entrerai pas dans les détails dans cet article. Les amis intéressés peuvent rechercher eux-mêmes des informations pertinentes. Ce dont je veux parler aujourd'hui, c'est comment utiliser avec succès co dans un environnement de petit programme.
1. Activez l'option de traduction de langue
Puisque nous devons utiliser le générateur ES6, et pour des raisons de compatibilité, nous devons La grammaire est déclassé et traduit en ES5.
Activer l'option de traduction linguistique
2. Présenter la bibliothèque de support du générateur
Pass Le code traduit doit s'appuyer sur un regeneratorRuntime pour prendre en charge la fonctionnalité du générateur. Un régénérateur open source par Facebook est une telle bibliothèque Github : github.com/facebook/regenerator/
Vous pouvez télécharger cette bibliothèque de régénérateur via npm :
npm install regenerator
Ensuite, vous téléchargerez. le fichier Retirez le fichier nommé regenerator-runtime.js et placez-le dans notre code d'applet.
3. Téléchargez les bibliothèques co et Promise
Ensuite, téléchargez la bibliothèque co via npm :
npm install co
sera téléchargé Retirez le fichier nommé co.js dans le fichier et placez-le dans notre mini code de programme.
Parce que nous devons nous appuyer sur Promise, nous devons introduire une bibliothèque d'implémentation de Promise. Ici, nous choisissons es6-promise, une petite bibliothèque compatible. Il peut également être téléchargé via npm :
npm install es6-promise
Mettez es6-promise.js dans notre code d'applet.
4. Introduction dans le code de l'applet
Avant utilisation, introduisez correctement ces bibliothèques dans notre code :
const Promise = global.Promise = require('../../libs/es6-promise') const regeneratorRuntime = global.regeneratorRuntime = require('../../libs/regenerator-runtime') const co = require('../../libs/co')
D'accord, vous pouvez maintenant commencer à programmer joyeusement en utilisant co.
[Recommandations associées]
1. Téléchargement du code source de la plateforme de compte public WeChat
3 WeChat People Network v3.4.5 Advanced Business Edition Code source de WeChat Rubik's Cube
.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!