『云函数』传参和调试

2024-01-26 00:39:49 浏览数 (2)

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 对象中的 num1num2 两个属性解构出来,然后赋值给 num1num2 这两个变量,这样就可以直接使用了。

这个代码我就写完,先部署到云端,然后在小程序中调用一下,添加一个新的按钮,点击按钮之后调用这个云函数,然后将结果打印到控制台上,看看结果是不是我们想要的。

代码语言: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.本地调试

重点关注本地调试,点击本地调试,会弹一个对话框点击是,就是安装所需要的依赖库:

然后观察微信小程序的终端就会去下载依赖:

下载完毕之后本地调试界面就成了如下图所示的样子:

这个时候就会浏览器差不多咯,然后我们再次来点击调用云函数传参按钮来看看效果。

微信小程序控制台输出内容:

可以看到已经有一部分日志信息了,但是这还不够还不是我们的预期,那我们来看看本地调试的结果。

本地调试输出内容:

可以看到,这个时候就有我们想要的结果了,那么这个时候关于云函数的传参和调试就介绍完毕了。

本篇文章内容介绍到这就结束了,我们下期再见,感谢大家的观看,谢谢大家。

0 人点赞