Maison >Applet WeChat >Développement de mini-programmes >Quelles sont les deux manières de synchroniser l'exécution de l'applet WeChat en séquence ?

Quelles sont les deux manières de synchroniser l'exécution de l'applet WeChat en séquence ?

王林
王林avant
2021-03-17 11:41:536266parcourir

Quelles sont les deux manières de synchroniser l'exécution de l'applet WeChat en séquence ?

Avant-propos :

Il existe deux manières de synchroniser l'exécution de petits programmes en séquence :

La première manière : l'exécution de la fonction de rappel, la seconde méthode Écrivez dans la fonction de rappel précédente pour obtenir une exécution séquentielle

Inconvénients : trop d'imbrication, confusion de code

Deuxième méthode : exécution synchrone avec attente asynchrone, cette méthode attend la méthode précédente Continuer l'exécution uniquement une fois l'exécution terminée

Avantages : haute lisibilité du code

Prenons l'exemple de la vérification de la sécurité du texte et donnez deux méthodes de code différentes pour référence

async- wait

/**
 * 同步检查是否包含敏感词
 */
 
// async function checkString(content) {
//   try {
//     var res = await wx.cloud.callFunction({
//       name: 'checkString',
//       data: {
//         content: content,
//       }
//     });
//     if (res.result.errCode == 0)
//       return true;
//     return false;
//   } catch (err) {
//     console.log(err);
//     return false;
//   }
// }
 
 
	// pubcom: async function (e) {
	// 	wx.showLoading({
	// 		title: '加载中',
	// 		mask: true
	// 	})
 
	// 	var that = this
	// 	var doc_id = that.data.commentID
	// 	var content = that.data.comcon
	// 	var formId = e.detail.formId;
	// 	if (!content) {
	// 		return
	// 	}
	// 	var isCheck = await common.checkString(content);
	// 	if (!isCheck) {
	// 		wx.showToast({
	// 			title: '含有敏感词',
	// 			image: "/assets/icon/icon-warning.png",
	// 		});
	// 		return
	// 	}
    //后续代码
 
 	

(Partage de vidéos d'apprentissage : Tutoriel vidéo php)

Méthode de rappel

/**
 * 异步检查
 */
function checkString(content,success,fail){
  wx.cloud.callFunction({
    name: 'checkString',
    data: {
      content: content,
    }
  }).then(res => {
    console.log(res);
    if (res.result.errCode == 0)
			success(res);
  }).catch(err => {
    console.error(err);
		fail(err);
  });
}
 
pubcom: function (e) {
		wx.showLoading({
			title: '加载中',
			mask: true
		})
 
		var that = this
	
		var content = that.data.comcon
		
		if (!content) {
			return
		}
		common.checkString(content, function (res) { 
			//成功代码
		}, function (err) {
            //失败
			wx.showToast({
				title: '含有敏感词',
				image: "/assets/icon/icon-warning.png",
			});
			return});
	},

Recommandations associées : Tutoriel de développement de mini-programmes

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer