云函数代码的两种格式举例
说明:本文仅列出 Javascript 的箭头函数(ES6)与普通函数的例子,无更多参考价值。
箭头函数:
exports.main = (event, context) => {}
普通函数:
module.exports = { main: mainproc }
function mainproc(event, context){}
如您有兴趣阅读,请继续。
云函数代码的格式,一种是开发工具带的例子:exports.main = async (event, context) => {}。
代码例子:更新数据库字段并返回执行情况。其中用到 async/await 函数特性。
/* cloud function */
const cloud = require('wx-server-sdk')
cloud.init({env: env1})
const db1 = cloud.database()
exports.main = async (event, context) => {
return await db1.collection(col1).doc(event.docid).update({ data: { para1: event.para1 } })
}
另一种格式是:
module.exports = { main: mainproc }
function mainproc(event, context){}
代码例子:根据 openid 查询数据库字段并返回查询结果。在主函数中调用一个函数,它是具有async/await 特性的数据库查询函数。
/* cloud function */
const cloud = require('wx-server-sdk')
cloud.init({env: env1})
const db1 = cloud.database()
module.exports = { main: mainproc }
function mainproc(event, context){
const wxContext = cloud.getWXContext()
var openid = wxContext.OPENID
var lca = proc1(openid)
return lca
}
async function proc1(str1){
var lca = await db1.collection(col1).where({_openid: str1}).get()
if(lca.data.length==0){
return {result: "nothing"}
}
if(lca.data.length>1){
return {result: "error"}
}
lca = lca.data[0]
return {result: "ok", username: lca.username}
}
我习惯用第二个。都列出来供参考。