小程序云开发实现数据库异步操作同步化


Posted in Javascript onMay 18, 2019

写小程序云函数的时候遇到了一个问题,如果只对数据库操作一次的话,可以按照官方样例放到return里面,但是如果需要对数据库进行多次操作的话就不能这样写了,因为对数据库的操作是异步执行的。

刚开始我也想了好长时间,最后才找到解决的办法,就是用promise将异步操作同步化(后来才看到,官网也有)。

下面是我写的一个简单的注册云函数

// 云函数入口文件
const cloud = require('wx-server-sdk')
 
cloud.init()
const db = cloud.database()
const _ = db.command
const result={
 code:'',
 body:''
}
// 云函数入口函数
exports.main = (event, context) => {
 return new Promise((resolve, reject) => {
  db.collection('fan_user').where({
   tel:_.eq(event.tel)
  }).get().then((res)=>{
    if(res.data.length){ //用户已注册
     result.code=400;
     result.body='该账户已注册';
     resolve(result)
    }else{ //用户未注册
      db.collection('fan_user').add({
       data:{
        tel:event.tel,
        password:event.password
       }
      }).then((res)=>{
       result.code=200;
       result.body=res;
       resolve(result)
      })
    }
  })
 })
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
前端开发的开始---基于面向对象的Ajax类
Sep 17 Javascript
基于jquery库的tab新形式使用
Nov 16 Javascript
jQuery弹出(alert)select选择的值
Apr 21 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
Aug 11 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 Javascript
jQuery mobile 移动web(4)
Dec 20 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 Javascript
leaflet的开发入门教程
Nov 17 Javascript
快速掌握jQuery插件开发
Jan 19 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
使用koa2创建web项目的方法步骤
Mar 12 Javascript
vue 实现websocket发送消息并实时接收消息
Dec 09 Javascript
微信小程序云开发之数据库操作
May 18 #Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 #Javascript
史上最为详细的javascript继承(推荐)
May 18 #Javascript
微信小程序云开发如何使用npm安装依赖
May 18 #Javascript
vue路由中前进后退的一些事儿
May 18 #Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
May 18 #Javascript
微信小程序云开发 生成带参小程序码流程
May 18 #Javascript
You might like
php桌面中心(一) 创建数据库
2007/03/11 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
重载toString实现JS HashMap分析
2011/03/13 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
jQuery多级弹出菜单插件ZoneMenu
2014/12/18 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
apply和call方法定义及apply和call方法的区别
2015/11/15 Javascript
js转html实体的方法
2016/09/27 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
vue-cli2.9.3 详细教程
2018/04/23 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
python list 合并连接字符串的方法
2013/03/09 Python
2014年开学第一课活动方案
2014/03/06 职场文书
给校长的建议书100字
2014/05/16 职场文书
五四演讲稿范文
2014/09/03 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
追悼词范文大全
2015/06/23 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
JavaScript实现班级抽签小程序
2021/05/19 Javascript
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers