小程序云开发实现数据库异步操作同步化
更新时间:2019年05月18日 10:21:28 作者:幸运人1
这篇文章主要为大家详细介绍了小程序云开发实现数据库异步操作同步化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
写小程序云函数的时候遇到了一个问题,如果只对数据库操作一次的话,可以按照官方样例放到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+Node.js写一款markdown解析器
这篇文章主要介绍了利用JavaScript和Node.js写一款markdown解析器,首先编写getHtml函数,传入markdown文本字符串,下面更多详细内容,需要的小伙伴可以参考一下2022-02-02基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
这篇文章主要介绍了基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)的相关资料,非常不错,需要的朋友可以参考下2016-08-08
最新评论