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

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

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});
 },

总结

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

(0)

相关推荐

  • 微信小程序动画(Animation)的实现及执行步骤

    简单总结一下微信动画的实现及执行步骤. 一.实现方式 官方文档是这样说的:①创建一个动画实例 animation.②调用实例的方法来描述动画.③最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性. 因为小程序是数据驱动的,给这句话加上数字标注分为三步: 前两步是定义一个动画并设置都要干什么,然后把这个设置好的"规则"扔给界面上的某个元素,让它按照这个规则执行. 当然如果有多个元素的animation="{{ani}}",也都会执

  • 小程序异步问题之多个网络请求依次执行并依次收集请求结果

    业务逻辑 最近开发一个便签小程序的时候,有这样一个需求:用户可以在写便签的时候添加一个或多个图片. 对于这个需求,我们用户按下保存键时,内部具体的实现上是这样的逻辑: 首先检测用户是否传入了图片,如果存储本地图片地址的数组长度>=1,则将图片数组放入上传图片的函数. 由于小程序网络请求大小限制,我们只能采取循环上传单文件,然后收集每次请求的结果--图片在服务器的地址,最后将结果放在一个数组中供后续的操作使用. 当图片上传函数全部执行完毕后,将数组中的图片数组取出来,赋值到日记对象中,再将整个日记

  • 微信小程序onLaunch异步,首页onLoad先执行?

    本来按照事件顺序,小程序初始化时触发App里的onLaunch,后面再执行页面Page里的onLoad,但是在onLaunch里请求获取是否有权限,等待返回值的时候Page里的onLoad事件就已经执行了. //app.js App({ onLaunch: function () { console.log('onLaunch'); wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { }, success: function(res) {

  • 微信小程序promsie.all和promise顺序执行

    微信小程序promsie.all和promise顺序执行 一.前言 最近在做小程序的开发,碰到的一个需求就是表单提交,提交的表单中包含有图片,微信这边的做法是先上传图片,后台把图片名称和地址返回给你,然后你把图片信息插入到表单的相应位置再提交表单,这里就涉及到如何上传完图片的请求再上传表单,而且微信小程序里面如果图片是多个的话,也只能一张张上传.简单来说就是上传完图片(多个请求),拿到返回值,再上传表单,该如何做? 二.Promise.all和Promise.race 先来介绍Promise.a

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

    小程序按顺序执行的两种方式 1.回调函数执行,后一个方法写到前一个的回调函数中从而实现顺序执行,缺点是嵌套太多,代码混乱 2.async-await 同步执行,此方法等待前面方法执行完毕才继续后续执行.代码可读性好 以检查文本安全性为例给出两种不同方式代码以供参考 回调方式 /** * 同步检查是否包含敏感词 */ // async function checkString(content) { // try { // var res = await wx.cloud.callFunction(

  • 微信小程序页面间值传递的两种方法

    一:url带参数传递 与前端语言一样,小程序页面间的传递可以通过在路由url后接参数,路由的同时会将参数一并传递到新的页面. index.wxml: <!--index.wxml--> <view class="container"> <!-- 使用navigator组件 --> <navigator url="../demo/demo?title=参数传递">title=参数传递</navigator>

  • 微信小程序 接入腾讯地图的两种写法

    最近在写微信小程序,遇到了一些坑,在网上也查了好多,感觉都没有我想要的答案, 刚处理了这个地图的问题,在这里总结下,希望可以帮助大家. 在微信小程序中,腾讯地图的接入其实是有两种方式的,第一种调用腾讯本身的地图,第二种是使用插件 ma-route 一.调用腾讯本身的地图 实现结果如下图: 这个非常简单,而且用的人也很多, 只需要调用两个地图的api. 就是上边的两个.当然调用openLocation的时候你首先要调用getLocation授权 需要你在app.json里配置信息,如下: 在你需要

  • 微信小程序模板消息推送的两种实现方式

    最近在做微信小程序,为了让用户能更加方便的获取到小程序内部的通知,便想着用模板消息来解决此类问题.首先介绍一下两种方法 第一种是传统的按照微信开发文档来实现模板消息的获取,首先要明确的是你要有一个第三方的服务器,因为微信现在规定在小程序内部不能直接请求微信的服务器,而是要请求第三方服务器,由第三方服务器来请求微信的服务器 1.传统方式实现模板消息 1.1获取用户openId 这一步可以在wx.login方法内获取,用来标注模板消息的接受者 1.2获取模板ID 有两个方法可以获取模版ID 通过模版

  • 微信小程序学习笔记之页面配置与路由方式

    最近在学习回顾小程序的开发,将一些学习结果做个笔记.参考微信小程序官方文档:developers.weixin.qq.com/miniprogram- 一.小程序配置 1.全局配置 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. // 示例 { "pages": [ "pages/index/index", "pages/logs/index" ], &q

  • 小程序页面间传参的五种方式实例详解

    目录 前言 1.使用globalData 2.使用storage 3.使用url 3.1 api跳转 3.2 组件跳转 4.使用通信通道 5.使用页面栈 总结 前言 由于经常需要进行页面间传参且各种传参的业务场景也不相同,根据官方文档和日常工作进行了总结.共有五种传参方式,各位有什么关于页面间传参的奇思妙想也可在评论区提出,大家共同探讨 概览: 方式 优点 缺点 globalData 双向传参.全应用可用 不及时 storage 双向传参.全应用可用 不及时 路由 简单方便.及时 正向传参 通信

  • 微信小程序 页面跳转传递值几种方法详解

    微信小程序 页面跳转传递值 微信小程序导航有两种形式:一种是在写在js中进行跳转,另一种是写在wxml页面中进行跳转. 1.js导航 (1).wx.navigateTo(OBJECT) :保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. wx.navigateTo({ url: 'test?id=1' }) 获取传递的值: //test.js Page({ onLoad: function(option){ console.log(option.id)

  • 如何在微信小程序中使用less详解(最优方式)

    前言 写惯了 less/sass,但是现在开发小程序缺还是 css,很不习惯. 在网上搜的教程,要么是 gulp,要么就是 vscode 的 Easy-less 的插件. 传统方式 我们来对比,这两种方式的优劣. Gulp 前者要对于 gulp 有简单的了解,但是现在大道其行的 webpack 来说,gulp 用的人也越来越少,而且具有一定的学习成本,但好在自定义程度较高,自己可以随便添加take. VScodd的Esay-less插件 啥都不说,挺香的,直接在 vscode 安装 easy-l

  • 微信小程序 下拉刷新及上拉加载原理解析

    这篇文章主要介绍了微信小程序 下拉刷新及上拉加载实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.下拉刷新的概念及应用场景. 概念: 下拉刷新是移动端更新列表数据的交互行为,用户通过手指在屏幕上子上而下的滑动,可以触发页面的下拉刷新,更新列表数据. 应用场景: 在移动端,数据列表是常见的页面效果,更新列表数据是最基本的页面需求,相比于按钮刷新,定时刷新来说,下拉刷新的用户体验方便友好,已经成为移动端刷新列表数据的最佳解决方案. 微信小

  • 微信小程序开发之相册选择和拍照详解及实例代码

    微信小程序 拍照和相机选择详解 前言: 小程序中获取图片可通过两种方式得到,第一种是直接打开微信内部自己的样式,第一格就是相机拍照,后面是图片,第二种是弹框提示用户是要拍照还是从相册选择,下面一一来看. 选择相册要用到wx.chooseImage(OBJECT)函数,具体参数如下: 直接来看打开相机相册的代码: Page({ data: { tempFilePaths: '' }, onLoad: function () { }, chooseimage: function () { var t

随机推荐