简体中文
4.13版本起安卓端使用
UniCloudCallFunctionResult
必须传入泛型,比如UniCloudCallFunctionResult<UTSJSONObject>
,其中泛型类型为其result属性的类型
请求云函数
名称 | 类型 | 必填 | 默认值 | 描述 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options | UniCloudCallFunctionOptions | 是 | - | - | |||||||||||||||
|
类型 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Promise<UniCloudCallFunctionResult<T>> | |||||||||||||||
|
Android | iOS | web |
---|---|---|
阿里云 3.9,腾讯云 3.91,支付宝云 3.98 | 4.11 | 4.0 |
Template
Script
<template>
<!-- #ifdef APP -->
<scroll-view class="page-scroll-view">
<!-- #endif -->
<view>
<page-head :title="title"></page-head>
<view class="uni-padding-wrap uni-common-mt">
<view class="uni-btn-v uni-common-mt">
<button type="primary" @click="callFunction">请求云函数</button>
<button type="primary" @click="callFunctionWithGeneric">请求云函数传入泛型</button>
</view>
</view>
</view>
<!-- #ifdef APP -->
</scroll-view>
<!-- #endif -->
</template>
<style>
</style>
4.13版本起支持,仅安卓端会构造对应的泛型的实例,web端和iOS端泛型仅作为类型使用。
用法:uniCloud.callFunction<泛型类型>({name: 'xxx', data: {}} as UniCloudCallFunctionOptions)
在不传泛型时callFunction返回的类型为Promise<UniCloudCallFunctionResult<UTSJSONObject>>
,传入泛型后callFunction返回的类型为Promise<UniCloudCallFunctionResult<泛型类型>>
代码示例
// 云函数fn代码
'use strict';
exports.main = async (event, context) => {
return {
errCode: 0,
errMsg: '',
detail: 'call function detail'
};
};
// 客户端代码
type CallFunctionResult = {
errCode : number,
errMsg : string,
detail : string
}
uniCloud.callFunction<CallFunctionResult>(
{
name: 'fn',
data: { a: 1 } as UTSJSONObject,
} as UniCloudCallFunctionOptions
).then(function (res) {
const result = res.result // result的类型为CallFunctionResult
const detail = result.detail // 可直接使用.detail访问
console.log(detail)
}).catch(function (err : any | null) {
console.error(err)
})