1.前言
好了,经过上篇文章的介绍,给大家详细的介绍了云函数的基本使用,以及为什么要使用云函数,那么接下来我们就来看看云函数的传参和调试。
2.云函数的传参
与函数与函数,是一个函数那么就是有参数的,那么我们的云函数是不是也是有参数的,那么我们的云函数的参数是怎么传递的呢?
好,那么继续来看上篇文章我们创建好的云函数,在官方代码中的 main 函数中,我们可以看到有一个 event
参数,这个参数就是我们的云函数的参数,那么我怎么验证我的这个说法呢?
要验证这一点,我首先再重新创建一个云函数,比如说创建一个叫做 sum 的云函数,然后在这个云函数中, 我做一个加法运算,然后将结果返回给客户端,那么这个时候我就需要传递两个参数,一个是 a
,一个是 b
,那么我怎么传递呢?
先看代码后解释:
代码语言:javascript复制// 云函数入口文件
const cloud = require('wx-server-sdk')
// 使用当前云环境
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
// 云函数入口函数
exports.main = async (event, context) => {
const { num1, num2 } = event;
const res = num1 num2;
return res;
}
关键代码是这一行:
代码语言:javascript复制const { num1, num2 } = event;
这一行代码是将 event
对象中的 num1
和 num2
两个属性解构出来,然后赋值给 num1
和 num2
这两个变量,这样就可以直接使用了。
这个代码我就写完,先部署到云端,然后在小程序中调用一下,添加一个新的按钮,点击按钮之后调用这个云函数,然后将结果打印到控制台上,看看结果是不是我们想要的。
代码语言:html复制<button type="primary" bindtap="onCloudFnParamTap">云函数传参</button>
代码语言:javascript复制async onCloudFnParamTap() {
const res = await wx.cloud.callFunction({
name: 'sum',
// data,可选参数
data: {
num1: 20,
num2: 30
}
});
console.log(res)
}
在查看运行效果之前首先我讲解下这个调用过程,在代码中我通过 wx.cloud.callFunction
方法来调用云函数,这个方法中有一个 name
参数,这个参数就是我们的云函数的名称,然后还有一个 data
参数,这个参数就是我们的云函数的参数,这个参数是一个对象,这个对象中包含了我们的云函数的参数,我现在传递了这个 data,是一个可选参数那么它就会将这个 data 对象传递给 sum 云函数当中的 event 参数里面。
然后我在 sum 的 main 函数中通过解构的方式将 event 对象中的 num1 和 num2 两个属性解构出来,然后再进行加法运算,最后将结果返回给客户端。
运行效果如下:
可以看到,ok 了,所以说,现在是不是我们就可以在使用云函数时就可以传递参数了,现在就没问题了是吧。那么呢还没完,还有一个问题,现在我们编写的云函数运行在什么地方,是不是运行在云端,那么运行在云端,如果我想对这个云函数进行调试,那么我怎么调试呢?
3.云函数的调试
现在我们业务逻辑比较简单,就一些加减法,或者说简单的返回一些数据,这些可能还好,但是如果我们的业务逻辑比较复杂,那么我们的云函数的调试就显得尤为重要了,那么我们怎么调试呢?
例如我在之前的 sum 云函数中,我对 res 进行控制台打印 console.log("云端:" res);
,然后在来看看效果,一定要记住改了代码之后一定要重新部署到云端。
更改了代码之后,并且重新发布之后,在这一次的调用结果中,我发现没有输出 res 的值,云端中并没有打印:
这个时候就不利于我们去调试了,那么如果我想调试该如何调试呢?这个时候就要找到云开发的后台,找到云函数,找到编写的 sum 云函数,这个时候就可以发现在右侧的操作中就有 本地调试
,云端测试
,这个时候先来看云端测试。
3.1.云端测试
点击云端测试按钮,会弹出一个抽屉,在测试模板中可以传递我们的一个参数给 sum:
填写完毕参数之后点击,运行测试,就可以看到本次的结果,但是这个信息还是达不到我的预期想要的样子。
并没有输出我在 sum 中 console.log
的信息,那么这个时候就要使用本地调试了,这个云端测试了解一下就可以了。
3.2.本地调试
重点关注本地调试,点击本地调试,会弹一个对话框点击是,就是安装所需要的依赖库:
然后观察微信小程序的终端就会去下载依赖:
下载完毕之后本地调试界面就成了如下图所示的样子:
这个时候就会浏览器差不多咯,然后我们再次来点击调用云函数传参按钮来看看效果。
微信小程序控制台输出内容:
可以看到已经有一部分日志信息了,但是这还不够还不是我们的预期,那我们来看看本地调试的结果。
本地调试输出内容:
可以看到,这个时候就有我们想要的结果了,那么这个时候关于云函数的传参和调试就介绍完毕了。
本篇文章内容介绍到这就结束了,我们下期再见,感谢大家的观看,谢谢大家。