写在前面
本篇文章是微信小程序开发入门的第五篇,介绍小程序云函数的调用
上篇我们已经新建了一个云函数,现在我们在小程序端调用他
云函数的调用
打开miniprogram\pages\index\index.js文件,添加如下代码,在小程序端使用wx.cloud.callFunction方法调用云函数,我这里使用的是 Promise 风格的调用:
Page({
data: {...},
// 添加的代码
onLoad() {
wx.cloud.callFunction({
name: 'add', // 云函数名称
data: {
a: 1,
b: 2,
}, // 传给云函数的参数
})
.then(res => {
console.log(res)
})
.catch(console.error)
},
})
此时我们重新编译一下就可以在Network看到我们刚刚的调用了,且返回了结果
wx-server-sdk
在编写云函数的时候我们引入了wx-server-sdk:const cloud = require('wx-server-sdk')
可以在cloudfunctions目录下执行该命令:npm install --save wx-server-sdk@latest安装 wx-server-sdk 依赖,我们的项目直接用了小程序的模板,所以已经安装好了
在云函数中还需要通过如下代码:cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境进行云函数初始化,就和我们的第二篇文章的小程序云开发初始化类似
如何在云函数中调用另一个云函数
打开cloudfunctions\add\index.js文件,修改云函数入口函数代码,在该函数中通过cloud.callFunction()方法,调用另一个云函数quickstartFunctions,并向其传入参数{type: 'getOpenId'}
...
// 云函数入口函数
exports.main = async (event, context) => {
return await cloud.callFunction({
name: 'quickstartFunctions',
data: {
type: 'getOpenId'
}
})
}
重新编译后我们可以在控制台的Network看到返回的结果如下,刚改了的时候调用结果一直是原来的结果,重启一下后倒是生效了
本地调试
官方还推荐使用本地调试成功后再进行部署,我这里就不进行演示了,可以自行去官方文档查看操作步骤
写在最后
以上就是小程序云函数的调用的说明