小程序云開發(fā)實現(xiàn)數(shù)據(jù)庫異步操作同步化
寫小程序云函數(shù)的時候遇到了一個問題,如果只對數(shù)據(jù)庫操作一次的話,可以按照官方樣例放到return里面,但是如果需要對數(shù)據(jù)庫進行多次操作的話就不能這樣寫了,因為對數(shù)據(jù)庫的操作是異步執(zhí)行的。
剛開始我也想了好長時間,最后才找到解決的辦法,就是用promise將異步操作同步化(后來才看到,官網(wǎng)也有)。
下面是我寫的一個簡單的注冊云函數(shù)
// 云函數(shù)入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command const result={ code:'', body:'' } // 云函數(shù)入口函數(shù) 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) }) } }) }) }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript+Node.js寫一款markdown解析器
這篇文章主要介紹了利用JavaScript和Node.js寫一款markdown解析器,首先編寫getHtml函數(shù),傳入markdown文本字符串,下面更多詳細內(nèi)容,需要的小伙伴可以參考一下2022-02-02基于BootStrap的Metronic框架實現(xiàn)頁面鏈接收藏夾功能按鈕移動收藏記錄(使用Sortable進行拖動排序)
這篇文章主要介紹了基于BootStrap的Metronic框架實現(xiàn)頁面鏈接收藏夾功能按鈕移動收藏記錄(使用Sortable進行拖動排序)的相關(guān)資料,非常不錯,需要的朋友可以參考下2016-08-08layui中select,radio設(shè)置不生效的解決方法
今天小編就為大家分享一篇layui中select,radio設(shè)置不生效的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09