小程序入门5:小程序云开发之云函数的调用

669 阅读2分钟

写在前面

本篇文章是微信小程序开发入门的第五篇,介绍小程序云函数的调用

上篇我们已经新建了一个云函数,现在我们在小程序端调用他

云函数的调用

打开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看到我们刚刚的调用了,且返回了结果

image.png

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看到返回的结果如下,刚改了的时候调用结果一直是原来的结果,重启一下后倒是生效了

image.png

本地调试

官方还推荐使用本地调试成功后再进行部署,我这里就不进行演示了,可以自行去官方文档查看操作步骤

写在最后

以上就是小程序云函数的调用的说明