微信小程序按顺序同步执行的两种方式


Posted in Javascript onDecember 20, 2019

小程序按顺序执行的两种方式

1.回调函数执行,后一个方法写到前一个的回调函数中从而实现顺序执行,缺点是嵌套太多,代码混乱

2.async-await 同步执行,此方法等待前面方法执行完毕才继续后续执行。代码可读性好

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

回调方式

/**
 * 同步检查是否包含敏感词
 */
// 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
 // }
 //后续代码

async-await

/**
 * 异步检查
 */
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});
 },

总结

以上所述是小编给大家介绍的微信小程序按顺序同步执行的两种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
Dec 26 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
Nov 26 Javascript
jquery each的几种常用的使用方法示例
Jan 21 Javascript
js中的setInterval和setTimeout使用实例
May 09 Javascript
Javascript中的包装类型介绍
Apr 02 Javascript
jQuery实现首页图片淡入淡出效果的方法
Jun 10 Javascript
Bootstrap中的Panel和Table全面解析
Jun 13 Javascript
jQuery过滤选择器经典应用
Aug 18 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
Sep 26 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
Nov 24 Javascript
详解用vue-cli来搭建vue项目和webpack
Apr 20 Javascript
js实现全选和全不选功能
Jul 28 Javascript
Vuex实现数据共享的方法
Dec 20 #Javascript
React 实现车牌键盘的示例代码
Dec 20 #Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 #jQuery
JavaScript实现简单计算器功能
Dec 19 #Javascript
微信小程序跨页面数据传递事件响应实现过程解析
Dec 19 #Javascript
js通过循环多张图片实现动画效果
Dec 19 #Javascript
JS实现水平移动与垂直移动动画
Dec 19 #Javascript
You might like
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
javascript 写类方式之六
2009/07/05 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
2015/06/30 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python中用Spark模块的使用教程
2015/04/13 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
Python中six模块基础用法
2019/12/08 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
中专毕业个人的自荐信格式
2013/09/21 职场文书
买房子个人收入证明
2014/01/16 职场文书
小班评语大全
2014/05/04 职场文书
党员个人剖析材料
2014/09/30 职场文书
公证书格式
2015/01/23 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
黄埔军校观后感
2015/06/10 职场文书
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers