Maison >interface Web >js tutoriel >Encapsulation de l'API du mini programme WeChat

Encapsulation de l'API du mini programme WeChat

php中世界最好的语言
php中世界最好的语言original
2018-04-28 15:10:113156parcourir

Cette fois, je vous présente l'encapsulation de l'API du programme WeChat Mini. Quelles sont les précautions pour l'encapsulation de l'API du programme WeChat Mini. Voici des cas pratiques, jetons un coup d'œil.

Raisons de la promesse

L'API de l'applet WeChat utilise le mode de rappel du paramètre objet, ce qui peut facilement provoquer un enfer de rappel et rendre le code difficile à lire., juger, modifier et déboguer.

Exemple d'API d'applet WeChat

// 获取用户信息
  wx.getSetting({
   success: res => {
    if (res.authSetting['scope.userInfo']) {
     // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
     wx.getUserInfo({
      success: res => {
       // 可以将 res 发送给后台解码出 unionId
       this.globalData.userInfo = res.userInfo
      }
     })
    }
   }
  })

On voit que quand il y en a deux couches, le code est très gênant

Promettre le mini programme

Écrire une fonction publique qui peut promettre l'API du mini programme

function promisify (method, options = {}) {
 return new Promise((resolve, reject) => {
  // 将options对象赋值 然后再传给下面调用的方法中
  options.success = resolve
  options.fail = err => {
   reject(err)
  }
  wx[method](options)
 })
}

Exemple d'utilisation

Les paramètres supplémentaires transmis sont transmis via la déstructuration d'objet

promisify('getUserInfo')
 .then((res) => console.log(res))
 .catch((err) => {console.error(err)})
promisify('navigateTo', { url })

Je pense que vous maîtrisez la méthode après avoir lu le cas dans ce Article Pour des informations plus intéressantes, veuillez prêter attention au site Web chinois php Autres articles connexes !

Lecture recommandée :

Explication détaillée des étapes pour implémenter une barre de progression de déplacement en forme d'arc

Angular6.0 implémente le chargement paresseux des composants Fonction (avec code)

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:
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