# 云函数 所谓云函数,就是一段代码在云端执行,执行完毕后将执行的结果返回给本地。 在使用云函数的时候,分为两个步骤: - 本地编写云函数,上传到云端 - 本地调用云端的函数 **上传云函数** 首先第一步,我们在 project.config.json 里面配置云函数的目录: ```js "cloudfunctionRoot": "functions/" ``` 在上面的代码中,我们指定云函数在根目录下的 functions 目录下面 ![image-20230203141842697](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2023-02-03-061843.png) 接下来在 functions 下面创建对应的云函数目录,例如: image-20230203143202123 之后再在 calc 目录中创建对应的 js 文件,书写云函数对应的逻辑: image-20230203143309653 > 注意:在编写和调用云函数的时候,一定要注意这是一个异步的过程。 在编写云函数的时候,需要使用到 wx-server-sdk 这个依赖,在终端中 cd 到云函数所在的目录(例如我们这里是 calc),然后首先进行 npm init -y 初始化操作,然后输入 npm i wx-server-sdk 安装该依赖。 云函数的传入参数有两个,一个是 `event` 对象,一个是 `context` 对象。`event` 指的是触发云函数的事件,当小程序端调用云函数时,`event` 就是小程序端调用云函数时传入的参数,外加后端自动注入的小程序用户的 openid 和小程序的 appid。`context` 对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况。 现在我们的云函数就已经编写完毕了。 编写完毕后我们需要上传这个云函数到云端 image-20230203143504058 上传云函数成功之后,可以在控制面板的【云函数】面板中看到刚才所上传的云函数。 ![image-20230203143730905](https://xiejie-typora.oss-cn-chengdu.aliyuncs.com/2023-02-03-063731.png) **本地调用云端的函数** 在本地,通过 wx.cloud.callFunction 来进行云函数的调用 ```js wx.cloud.callFunction({ // 云函数名称 name: 'add', // 传给云函数的参数 data: { a: 1, b: 2, }, success: function(res) { console.log(res.result.sum) // 3 }, fail: console.error }) ```