支持端:小程序 , 云函数
成都创新互联是专业的疏勒网站建设公司,疏勒接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行疏勒网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
调用云函数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
name | string | 是 | 云函数名 | |
data | Object | 否 | 传递给云函数的参数,在云函数中可通过 event 参数获取 | |
config | Object | 否 | 配置 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.config 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
env | string | 是 | 环境 ID,填写后将忽略 init 时指定的环境 ID |
属性 | 类型 | 说明 |
---|---|---|
result | any | 云函数返回的结果 |
requestID | string | 云函数执行 ID,可用于日志查询 |
如果 data 中包含大数据字段(建议临界值 256KB),建议使用 wx.cloud.CDN 标记大数据字段,标记后在调用云函数时,该字段的内容将会上传至临时 CDN,然后在云函数中接收到的该字段值将是 CDN url,可在云函数中下载访问。通过这种方式,可以避免大数据传输造成的性能问题、及避免触及调用链路的传输大小限制。
如果在 data 中如果传入了 Buffer 类型的数据,数据在 JSON 序列化的过程中会被转成 { "type": "Buffer", data: number[] } 的格式,以小程序端调用为例:
// 小程序端调用
wx.cloud.callFunction({
// ...
data: {
buf: ArrayBuffer // 此处填入了某种方式获取得到的 Buffer 数据,可以是 request 下来的,可以是读文件读出来的等等
},
})
// 云函数端收到的 event 参数的结构:
{
"type": "Buffer",
"data": [ 17, 371, 255, ... ] // Uint8 Array
}
因此应当避免传入 Buffer 类型的数据,因为会让数据体积增大,增加传输耗时,如果需要传递 Buffer,有两种替代的建议方式:
假设已有一个云函数 add:
exports.add = (event, context, cb) => {
return event.x + event.y
}
在小程序端发起对云函数 add 的调用:
wx.cloud.callFunction({
// 要调用的云函数名称
name: 'add',
// 传递给云函数的event参数
data: {
x: 1,
y: 2,
}
}).then(res => {
// output: res.result === 3
}).catch(err => {
// handle error
})
在云函数端任意云函数发起对云函数 add 的调用(完整云函数代码示例):
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
const res = await cloud.callFunction({
// 要调用的云函数名称
name: 'add',
// 传递给云函数的参数
data: {
x: 1,
y: 2,
}
})
// 3
return res.result
}
小程序端 callback 风格调用:
小程序端同时支持 Callback 风格调用,如上 Promise 风格的调用可以用 Callback 风格改写:
wx.cloud.callFunction({
// 要调用的云函数名称
name: 'add',
// 传递给云函数的参数
data: {
x: 1,
y: 2,
},
success: res => {
// output: res.result === 3
},
fail: err => {
// handle error
},
complete: () => {
// ...
}
})
分享标题:创新互联小程序教程:微信小程序云开发SDK文档云函数
当前地址:http://www.mswzjz.cn/qtweb/news14/9864.html
温江区贝锐智能技术服务部_成都网站建设公司,为您提供动态网站、搜索引擎优化、网站策划、网站排名、云服务器、响应式网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能