微信小程序按顺序同步执行的两种方式分别是什么

 3600

微信小程序按顺序同步执行的两种方式分别是什么


前言:

小程序按顺序同步执行有如下两种方式:

第一种方式:回调函数执行,后一个方法写到前一个的回调函数中从而实现顺序执行

缺点:嵌套太多,代码混轮

第二种方式:async-await 同步执行,此方法等待前面方法执行完毕才继续后续执行

优点:代码可读性高

以检查文本安全性为例给出两种不同方式代码以供参考

async-await

  1. /**
  2.  * 同步检查是否包含敏感词
  3.  */
  4.   
  5. async function checkString(content) {
  6.     try {
  7.         var res = await wx.cloud.callFunction({
  8.             name: 'checkString',
  9.             data: {
  10.                 content: content,
  11.             }
  12.         });
  13.         if (res.result.errCode == 0)
  14.             return true;
  15.             return false;
  16.         } catch (err) {
  17.             console.log(err);
  18.             return false;
  19.         }
  20.     }  
  21.   
  22.     pubcom: async function (e) {
  23.         wx.showLoading({
  24.             title: '加载中',
  25.             mask: true
  26.         })
  27.         var that = this
  28.         var doc_id = that.data.commentID
  29.         var content = that.data.comcon
  30.         var formId = e.detail.formId;
  31.         if (!content) {
  32.             return
  33.         }
  34.         var isCheck = await common.checkString(content);
  35.         if (!isCheck) {
  36.             wx.showToast({
  37.                 title: 'XXXX',
  38.                 image: "/assets/icon/icon-warning.png",
  39.             });
  40.             return
  41.         }
  42.     后续代码

回调方式

  1. /**
  2.  * 异步检查
  3.  */
  4. function checkString(content,success,fail){
  5.     wx.cloud.callFunction({
  6.         name: 'checkString',
  7.         data: {
  8.             content: content,
  9.         }
  10.     }).then(res => {
  11.         console.log(res);
  12.         if (res.result.errCode == 0)
  13.             success(res);
  14.         }).catch(err => {
  15.             console.error(err);
  16.             fail(err);
  17.         });
  18.     }
  19.   
  20.     pubcom: function (e) {
  21.         wx.showLoading({
  22.             title: '加载中',
  23.             mask: true
  24.         })
  25.   
  26.         var that = this
  27.      
  28.         var content = that.data.comcon
  29.          
  30.         if (!content) {
  31.             return
  32.         }
  33.         common.checkString(content, function (res) { 
  34.             //成功代码
  35.         }, function (err) {
  36.             //失败
  37.             wx.showToast({
  38.                 title: 'XXXX',
  39.                 image: "/assets/icon/icon-warning.png",
  40.             });
  41.             return});
  42.     },


本文网址:https://www.zztuku.com/index.php/detail-8732.html
站长图库 - 微信小程序按顺序同步执行的两种方式分别是什么
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐