调用云函数之前,请先完成初始化。
function.invoke(name: string, data: object, handler: string, exts: any): Promise<Result>;
字段名 | 类型 | 必选 | 默认值 | 说明 |
name | string | 是 | - | 云函数名称 |
data | object | 否 | - | 调用云函数时的传参 |
handler | string | 否 | main |
指定云函数的handler |
exts | Object | 否 | - | 扩展协议参数。 cacheType:服务缓存类型,不填默认不使用缓存,值为数字。 缓存类型枚举: 0 :标准缓存,命中条件为相同小程序+相同用户+相同请求; 1:用户无关缓存,命中条件为相同小程序+相同请求; 2:小程序无关缓存,命中条件为相同用户+相同请求; 3:全局缓存,命中条件为相同的请求。
cacheTime:缓存失效时间,cacheType不为空的情况下生效,不填默认300,单位为秒,最大不超过3600。 |
client端代码
// index.js const {cloud} = getApp(); Page({ data:{}, onLoad(query) { // 页面加载 }, testCloudFc(){ cloud.function.invoke('helloworld').then(res => { console.log(res); }) }, });
server端代码
// helloworld 云函数(Node版) exports.main = async (context) => { return 'hello world'; };
client端调用示例
// index.js const {cloud} = getApp(); Page({ data:{}, onLoad(query) { // 页面加载 }, testCloudFc(){ const options = { 'collectionName' : 'users', 'num': 9, 'desc' : '测试' }; cloud.function.invoke('saveUserInfo',options,'main').then(res => { console.log(res); }) }, });
server端调用示例
// saveUserInfo 云函数(Node版) exports.main = async (context) => { try { const cloud = context.cloud; const collectionName = context.data.collectionName; //保存用户信息 const result = await context.cloud.db.collection(collectionName) .insertOne({ // context 自带的参数 user_nick : context.userNick, open_id : context.openId, // 端上传过来的参数 num : context.data.num, desc : context.data.desc }).then(res => { console.log('保存数据成功'); console.log(res); }); return { success: true, result: result }; } catch (e) { console.log('fail:',e); return { success: false } } };